我正在使用 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"
可以正常工作。
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"
可以正常工作。