【发布时间】:2018-01-01 04:48:45
【问题描述】:
我希望使用 ajax 将数据从我的视图发布到控制器。但是当我尝试使用下面的代码时,ajax 调用总是会触发状态代码为 0 的错误,并且不会将数据传递给控制器。
如何修改我的代码以将数据传递给控制器。任何帮助都提前感谢。
提交按钮代码
<input class="btn btn-success" type="submit" value="Submit" onclick="GetData();" />
Ajax 调用
function GetData() {
$.ajax({
url: '@Url.Action("CaptureUserData","Home")',
data: {
IdentityNo: "1", FullName: "test",Dob:"12", Gender: "m",
PhoneNo: "000", PhoneNo1: "000",
Email: "ooo", Category: "000", Password: "000"
},
method: 'post',
dataType: 'json',
async: false,
success: function (response) {
alert('Success');
},
error: function (xhr, status, error) {
alert(xhr.status);
}
});
}
控制器
[HttpPost]
public ActionResult CaptureUserData(string IdentityNo, string FullName,
string Dob,string Gender, string PhoneNo, string PhoneNo1, string Email, string Category, string Password )
{
return Json(new { IdentityNo = IdentityNo });
}
【问题讨论】:
-
您正在使用
JSON.stringify()将传递的数据转换为string,因此它不会与您在控制器操作中定义的参数进行映射。删除JSON.stringify()。 -
使用 JsonRequestBehavior
return Json(new { IdentityNo = IdentityNo }, JsonRequestBehavior.AllowGet); -
它仍然返回状态码 0 @mmushtaq
-
用您所做的更改更新您的问题。
-
尝试在没有 JSON.stringify() 的情况下从 ajax 请求中传递数据
标签: c# ajax asp.net-mvc asp.net-ajax