【发布时间】:2021-03-13 11:17:01
【问题描述】:
{"success":true,"message":"扫描的设备类型与系统不匹配。"}
return json 继续返回数据,而不是跟随 ajax post 方法中的代码。
这是我的 ajax 返回码:
function SubmitForm(form) {
alert("grc");
$.validator.unobtrusive.parse(form);
if ($(form).valid()) {
$.ajax({
type: "POST",
url: form.action,
data: $(form).serialize(),
success: function (data) {
if (data.success) {
alert(data.success);
//Popup.dialog('close');
//dataTable.ajax.reload();
//$.notify(data.message, {
// globalPosition: "top center",
// className: "success"
//})
}
}
});
}
return false;
}
我的表单也有这个代码:
@using (Html.BeginForm("ScanTD", "Home", FormMethod.Post, new { onsubmit = "return SubmitForm(this)" }))
{
而控制器的返回是这样的:
return Json(new { success = true, message = result }, JsonRequestBehavior.AllowGet);
控制器似乎能够捕获结果,因为 json 返回它但不遵循我在 ajax 中设置的操作。我测试了在 SubmitForm 函数的触发器上添加警报并且它出现了,但是一旦它进入控制器,它就不会在 ajax 的成功代码中触发警报。它只返回具有假定成功结果的白页。
【问题讨论】:
标签: jquery json ajax model-view-controller controller