2011-11-17 31 views
0

我有一块jquery调用控制器上的方法。此方法更新与屏幕上内容有关的项目。jquery location.reload(true)如何防止MVC中的警告消息

为了更新屏幕,因此我去:

location.reload(true); 

的问题是,这是造就消息:

“要显示此页面,火狐必须发送将重复的任何行动(如搜索或订单确认)。“

有人能告诉我如何防止这个消息或替代我在做什么?

回答

2

这是因为你有一个POST操作的表单元素。大多数现代浏览器不会刷新页面,因为POST请求是在不先询问的情况下生成的 - 因为POST请求可能是任何内容,如删除记录或提交用户信息。当您访问网页时,只需转到Url即可,这是一个GET请求。

由于这个原因,建议您从您的操作返回“RedirectToAction”结果,其中状态已在回发中更改 - 这样,用户可以在目标页面上按F5而不出错,在小额外往返于服务器的费用。

3

浏览器在刷新POST页面之前会发出此警告,因为POST请求不应该被任意重复。您需要做一个POST/Redirect/Get

如果您要想要重新发布POST,您应该通过提交<form>明确地重新POST。