目的:编写的代码假设使用Json保存所有内容并重新执行操作。问题:当前使用 Json 的重定向不允许重定向。return new JsonResult { Data = new { status = status } };代码如下供参考: 寻找建议:查看代码$.ajax({ url: '/SA/Save', type: "POST", data: JSON.stringify(data), dataType: "JSON", contentType: "application/json", success: function (d) { //check is successfully save to database if (d.status == true) { //will send status from server side alert('Successfully done.'); window.location.href = d.Url; //clear form t = []; d = []; r = []; $('#SN').val(''); $('#SA').val(''); $('#t').empty(); $('#d').empty(); $('#r').empty(); } else { alert('Failed'); } $('#submit').val('Save'); }, });控制器public JsonResult Save(SAVM O,){ bool status = false; var userId = User.Identity.GetUserId(); if (ModelState.IsValid) { SA s = new SA { } _db.SA.Add(O) _db.SaveChanges(); status = true; } else { status = false } return new JsonResult { Data = new { status = status } };}这里想像这样重定向:return RedirectToAction("F", "SA"); 但使用 JsonResult解决方案看法$.ajax({ url: '/SA/Save',type: "POST",data: JSON.stringify(data),dataType: "JSON",contentType: "application/json",success: function (d) {window.location.href = d.Url;})} });控制器public JsonResult Save(SAVM O,){var userId = User.Identity.GetUserId();if (ModelState.IsValid){ SA s = new SA { } _db.SA.Add(O) _db.SaveChanges(); return Json(new { Url = "F/SA" });}
1 回答
![?](http://img1.sycdn.imooc.com/5458683f00017bab02200220-100-100.jpg)
慕少森
TA贡献2019条经验 获得超9个赞
您在这里有几个选择,您可以根据自己的要求决定更喜欢哪一个。
不要使用 AJAX。AJAX 请求用于获取当前页面所需的数据。您应该使用同步请求进行重定向。
返回客户端应在
success
事件上重定向到的 URL :return Json(new { url = "/F/SA" });
然后:
success: function (d){ window.location.url = d.url;}
返回已经渲染的 View 并将其加载到当前页面:
return View("some view...");
然后:
success: function (d){ $("#someElement").html(d);}
- 1 回答
- 0 关注
- 180 浏览
添加回答
举报
0/150
提交
取消