查看代码
$.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
答案 0 :(得分:1)
这里有几个选项,您可以根据自己的要求决定选择哪一个。
不要使用AJAX。 AJAX请求适用于当前页面所需的数据。您应该使用同步请求进行重定向。
返回客户端应在success
事件上重定向的网址:
return Json(new { url = "/F/SA" });
然后:
success: function (d)
{
window.location.url = d.url;
}
返回已呈现的视图并将其加载到当前页面:
return View("some view...");
然后:
success: function (d)
{
$("#someElement").html(d);
}