我正在使用 ajax 方法调用将数据从视图传递到控制器,但是当涉及到操作方法时,数据变为空

I am passing data from view to conntroller using ajax method call but data becomes null when it comes to action method

function UserLogin() {

        var username = $("#txtUsername").val();
        var passcode = $("#txtPassword").val();
        alert(username);

        $.ajax({

            url: '@Url.Action("Login", "UserAccount")',
            type: "POST",
            data: { 'username': username, 'passcode': passcode },
            datatype: "json",
            traditional: true,
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                alert(data.username);

        }
    });

[HttpPost] public ActionResult 登录(字符串用户名,字符串密码) { 如果(IsValidUser(用户名,密码)) { return RedirectToAction("UserInfo", "UserAccount"); } 别的 { ModelState.AddModelError("", "您的用户名或密码无效"); } return 查看(); }

    private bool IsValidUser(string username, string passcode)
    {
        string Query = "Select Count(ID) from Users where Username =" + username + " and PassCode = "+ passcode +"";
        int count = Convert.ToInt32(NpgSQLHelper.ExecuteScalar(Utility._connectionstring, System.Data.CommandType.Text, Query));
        if (count > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

删除 contentType: "application/json; charset=utf-8"将 contentType 修改为 contentType:"application/x-www-form-urlencoded" 可以正常工作。