使用 MVC/Json/Jquery。
使用表单创建一个新的“组”。
表单位于 ~Group/Manage,将表单发布到 ~Group/Create
在处理此问题时,返回 Json 结果工作正常,在 Jquery 中处理,没有 URL 重定向。
现在,每次我运行它时,它都会将我重定向到 ~Group/Create 并显示 Json 结果。
Controller 组/创建
[HttpPost]
public ActionResult Create([Bind(Include="name,description")] GroupModel groupmodel)
{
...
return Json(new { success = true, message = groupmodel.name }, JsonRequestBehavior.AllowGet);
}
表格
<form id="frm_createGroup" action="/Groups/Create" method="post">
<h2>Create Group</h2>
<div class="form-group">
@Html.LabelFor(model => model.name, new { @for = "name" })
@Html.TextBoxFor(model => model.name, new { @class = "form-control", @placeholder = "Group Name" })
@Html.ValidationMessageFor(model => model.name)
</div>
<div class="form-group">
@Html.LabelFor(model => model.description, new { @for = "description" })
@Html.TextBoxFor(model => model.description, new { @class = "form-control", @placeholder = "Group Description" })
@Html.ValidationMessageFor(model => model.description)
</div>
<span id="createGroupMessage"></span>
<button type="submit" class="btn btn-primary pull-right">Create</button>
</form>
Jquery 处理表单
$(document).ready(function (){
$('#navGroups').makeActiveMenuItem();
var options = {
success: groupCreateSubmitted
,error: groupCreateError
}
$('#frm_createGroup').ajaxForm(options);
});
function groupCreateSubmitted(responseText, statusText, xhr, $form) {
if (responseText.success)
{
$('#createGroupMessage').html = "Group Created";
}
else
{
$('#createGroupMessage').html = responseText.message;
}
}
要明确的是,我不需要 URL 重定向,我只是希望 Jquery 捕获返回(以前是这样,不知道为什么会改变......)
谢谢!
最佳答案
已删除 ,错误:groupCreateError
正在工作...表单绑定(bind)失败。
关于javascript - ASP.NET MVC jQuery JSON 结果重定向 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30826799/