【发布时间】:2018-05-29 23:25:21
【问题描述】:
目的:编写的代码是假设使用Json保存所有内容并重定向到操作。
问题: 当前使用 Json 的重定向不允许重定向。 返回新的 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" });
}
【问题讨论】:
-
ajax 的全部意义在于保持在同一页面上。如果要重定向,请不要使用 ajax。
-
是的,可以理解,但如果使用 JsonResult 则有任何建议或解决方法来重定向
标签: c# json ajax asp.net-mvc