c# - ASP.NET MVC 中的 Ajax 重定向
问题描述
我正在学习 ASP.NET MVC,并且在 Ajax 重定向中遇到问题。在普通帖子或接听电话中,我们可以将用户返回到某个特定页面,例如:
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);
推荐阅读
- java - 无法启动 quarkus:无法从类 io.quarkus.deployment.logging.LoggingResourceProcessor 加载步骤
- typescript - 我无法为 Pulumi 创建集群,因为代码正在标记,请协助
- logging - 卡夫卡大日志问题 - 真的不知道发生了什么
- python - 行和的 Python 等效项
- reactjs - 如何在 React js 中使用 owl carouse mousewheel
- sql - SQL - 一行的总和,而另一行的 DISTINCT?
- django - 如何禁用 Django 泛型过滤器区分大小写
- python - 您如何确定列表是否有相邻的重复项?
- svg - SVG渐变旋转
- angular - 如何知道 ChangeDetection 是在特定组件上执行的?