Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript刷新页面不工作_Javascript_Google Chrome_Post - Fatal编程技术网

使用javascript刷新页面不工作

使用javascript刷新页面不工作,javascript,google-chrome,post,Javascript,Google Chrome,Post,我向服务器发送post请求,该服务器返回一个JSP。现在,如果我使用浏览器的刷新按钮,我会得到重新提交数据的确认,然后页面会成功重新加载 但是,当我尝试使用javascript刷新页面时,我没有得到任何确认框,重新加载也不起作用。我尝试了所有重新加载的方法,如: location.reload() window.location.reload() window.location.href=window.location.href 历史。go(0) 我认为问题在于,当我尝试使用javascri



我向服务器发送post请求,该服务器返回一个JSP。现在,如果我使用浏览器的刷新按钮,我会得到重新提交数据的确认,然后页面会成功重新加载

但是,当我尝试使用javascript刷新页面时,我没有得到任何确认框,重新加载也不起作用。我尝试了所有重新加载的方法,如:

  • location.reload()
  • window.location.reload()
  • window.location.href=window.location.href
  • 历史。go(0)
我认为问题在于,当我尝试使用javascript刷新时,它会发送一个get请求,而它无法找到必要的参数

这个问题只发生在chrome。。。它在Firefox和IE中工作

要通过post请求“刷新”页面,您需要提交表单。您可以使用页面上已有的任何表单,也可以通过编程方式创建一个表单

var myForm = document.createElement("form");
myForm.action = "/my/url.jsp"; // Or use window.location, or something else.
myForm.method = "POST";
document.body.appendChild(myForm); // Needs to be in the DOM. Is not visible.
myForm.submit();

reload
方法可以使用缓存来重新加载页面。指定force参数以使其从服务器获取页面:

window.location.reload(true);
为我在chrome上工作。。。最后

说明:parent.window的

对当前窗口或子帧的父级的引用

如果窗口没有父窗口,则其父属性是对其自身的引用


在或中加载窗口时,其父窗口是包含嵌入该窗口的元素的窗口。

唯一的解决方案是使用一些附加值调用同一URL

这是常规的重新加载脚本,在IE&FF上可以正常工作,但在Chrome&Safari上不行

window.location = location.href; 
要在所有浏览器类型上重新加载,请使用:

window.location = location.href + '?session=' + sMath.floor((Math.random() * 1000000) + 1);

在IE、FF、Chrome和Safari上进行了测试。

我尝试了找到的所有可能的解决方案(ajax调用、各种代码片段),但唯一对我有效的方法是从Chrome上禁用网络缓存参见此处 我不认为这是一个生产解决方案,但在开发过程中可以腾出一些时间来搜索。问题似乎在于chrome的缓存甚至设置

window.location.reload(true);

重新加载时不清除缓存。On FF工作正常。

问题在于:我在第1页提交了一份表格。它把我带到第二页。现在,当我在第2页进行即时通讯时,如果我单击浏览器的“重新加载”,则第2页将成功刷新(在得到确认后)。但是,如果我在第2页上放置一个this:
,并且单击它,那么我就无法重新加载该页,因为它不会发送第1页表单的必要参数。我的问题是,是否可以实现与浏览器的“重新加载”按钮相同的功能?谢谢您的解释!force参数不推荐使用页面链接的随机键。关键是,在更改页面链接之前,浏览器不会重新加载。
window.location.reload(true);