jquery location.reload(true)如何防止MVC中的警告消息

时间:2011-11-17 01:38:46

标签: jquery asp.net-mvc

我有一个调用控制器上的方法的jquery。此方法更新与屏幕上的内容有关的项目。

为了更新屏幕,我去了:

location.reload(true);

问题是这是在传递信息:

“要显示此页面,Firefox必须发送重复之前执行的任何操作(例如搜索或订单确认)的信息。”

有人可以告诉我如何阻止此消息或替代我正在做的事情吗?

2 个答案:

答案 0 :(得分:3)

浏览器在刷新POST页面之前会发出此警告,因为POST请求不应该被任意重复。

您需要执行POST/Redirect/Get

如果您希望重新发布POST,则应通过提交<form>明确重新发布。

答案 1 :(得分:2)

它正在发生,因为你有一个带有POST动作的表单元素。大多数现代浏览器在没有首先询问的情况下由于POST请求而生成页面时不会刷新页面 - 因为POST请求可以是任何内容,例如删除记录或提交用户信息。只需访问网址即可访问网页,这就是GET请求。

出于这个原因,建议您返回&#34; RedirectToAction&#34;来自您的操作的结果,其中状态已在回发中更改 - 这样,用户可以在目标页面上按F5命中它们而没有错误,只需花费额外的往返服务器的费用。