我尝试向 MVC 操作发出帖子并在网页上显示生成的 JSON。该操作接收 post 命令,但结果显示在新页面上,而不是同一页面上。例如,它会询问我是否要下载或打开该文件。 附言。我也在使用 jQuery 验证。
我的jquery:
submitHandler: function(form) {
$('#loading').show(); //adds waiting spinner
$.post(
$(form).attr('action'),
form.serialize(),
function(data) {
alert(data);
},
"json"
);
return false;
}
我的行动:
[AcceptVerbs(HttpVerbs.Post), ValidateAntiForgeryToken]
public ActionResult ContactUs(FormCollection collection) {
...
return Json("OK");
}
我一直在努力解决这个问题,并且阅读了太多的网络搜索,但仍然无济于事。任何帮助将不胜感激。
最佳答案
我建议您使用 jquery form plugin它允许您执行以下操作:
submitHandler: function(form) {
$('#loading').show(); //adds waiting spinner
$(form).ajaxSubmit();
}
您还可以将选项传递给 ajaxSubmit
方法:
$(form).ajaxSubmit({
success: function(data) {
alert(data);
}
});
如果您不想使用任何其他插件,请确保执行此操作(请注意,form
包含在 $()
中,以便调用 序列化
方法):
$.post(
form.action,
$(form).serialize(),
function(data) {
alert(data);
},
'json'
);
关于jquery - MVC 发布 Json 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541082/