目的:编写的代码应该使用Json保存所有内容,并将其重定向到action。
问题:当前使用Json的重定向不像假设的那样允许重定向。返回新的数据{ JsonResult =新的{状态=状态} };
以下代码供参考:寻找建议:
查看代码
$.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" });
}
发布于 2018-05-30 07:38:03
这里有几个选项,您可以根据自己的需求决定您更喜欢哪一个。
success
事件中客户端重定向到的redirection.return Json(new { url = "/F/SA“});
然后:
成功: function (d) { window.location.url = d.url;}
return view(“某些视图...”);
然后:
成功: function (d) {$(“#.html success”).html(D);}
https://stackoverflow.com/questions/50594336
复制相似问题