如何解决ASP.NET MVC 中的 Ajax 重定向
我正在学习 ASP.NET MVC,但我在 Ajax 重定向中遇到了问题。在正常的 post 或 get 调用中,我们可以将用户返回到某个特定页面,例如:
return RedirectToAction("AllStudents");
但是使用 json 是不同的,或者可能是我对它不太了解。
我已经以正常方式发布了我的代码,并已转换为 Ajax。
我的尝试
一般控制器代码:
[HttpGet]
public ActionResult Delete(int id)
{
stude.DeleteStudent(id);
return RedirectToAction("AllStudents");
}
我已经使用 Ajax 成功完成了这项工作,但它没有将用户重定向到另一个页面,就像上面的代码一样,它将用户重定向到另一个页面。
我的 Ajax 控制器代码:
[HttpPost]
public JsonResult Delete(int id)
{
stude.DeleteStudent(id);
return Json("true",JsonRequestBehavior.AllowGet);
}
我的js代码:
// Delete record
$("#del").click(function (e) {
e.preventDefault();
var id = $("#stid").val();
//alert(id);
$.ajax({
method: "POST",url: "Delete/" + id,contentType: "application/json; charset=utf-8",async: true,data: JSON.stringify(id),success: function (data) {
console.log(data);
},error: function (err) {
console.log('Failed to get data' + err);
}
});
});
执行操作并删除数据但浏览器停止如下:
我的目标:我希望在不刷新页面的情况下删除数据,就像往常一样。还请分享一个链接,帖子,显示使用 ajax 刷新页面的内容。就像我想每 1 分钟刷新一次页面但不重新加载它一样。
更新:数据正在删除,但突出显示的红色(页面)没有刷新,我必须手动刷新,我不想要。我想在不重新加载的情况下静默刷新它。
解决方法
如果您只刷新网格,则创建超时方法如下:
setTimeout(function() {get grid data by ajax call},10000);
如果你想重新加载整个页面
- 创建一个局部视图。
- 创建一个动作方法并返回 PartialView()。
- 创建 ajax 调用并获取响应以添加到 div 中,如 divid.html(data);
如果你每 1 分钟刷新一次页面,那么创建一个超时函数并创建一个简单的 ajax。
setTimeout(function() { ajax call},10000);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。