总是在Javascript中重定向重新加载页面

时间:2013-11-27 19:11:44

标签: javascript

我有一个可以从网站的任何页面调出和提交的表单。位于站点导航栏中的触发按钮将以类似模式的UI显示表单,并通过AJAX调用处理提交操作。如果POST成功返回,它将包含一个Location标头,其中包含页面的URL,而不是下一个需要显示的页面。

我需要浏览器在重定向到此返回的位置时始终重新加载页面。如果我只做window.location = xdr.getResponseHeader('Location')并且当前URL减去哈希片段与新URL减去哈希片段相同,则页面将不会重新加载(至少这是我看到的Chrome中的行为)。

对返回的网址进行简短的手动解析,并与当前页面网址进行比较以告知何时致电reload()以及何时简单地重新分配window.location,是否有更直接的方式来实现所需的网页重装行为?

2 个答案:

答案 0 :(得分:0)

如前所述,我相信您应该只使用传统的表单提交而不是Ajax。然后处理重定向服务器端,即使它是回发也应该总是强制页面加载。

答案 1 :(得分:0)

缓存由元标记和http响应请求控制。您可以通过在URL中附加?字符串使其成为新页面请求

var d = new Date();
var n = d.getTime(); /* n looks something like 1385580937315 */
window.location = xdr.getResponseHeader('Location')+"?"+n;

通过完全传递浏览器缓存。