我使用这个小技巧在下一页加载时更新当前页面。 当用户点击提交时,我设置了一个间隔计时器,它对服务器进行xhr调用,以查明响应的持续时间,并使用此信息更新页面,从而成功地娱乐用户。
在Firefox和IE中,这样可以正常工作,但在表单提交发生后,它似乎在chrome中,setinterval调用仍将触发,但xmlhttprequest实际上从未执行过请求。我没有得到任何错误或例外,只是这样做
xmlhttp.onreadystatechange = statstatechange;
xmlhttp.open("POST", url, true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send(postdata);
我的statstatechange函数永远不会被调用,我在服务器端看不到任何请求,所以据我所知,请求永远不会被发出。
知道如何制作chrome吗?
答案 0 :(得分:1)
对于在chrome中遇到相同问题的任何人:事实证明,如果您在页面上有iframe,则可以在该iframe中触发xhr请求,即使在提交了主要顶级页面表单后它们仍将继续工作。所以这是一个糟糕的解决方法,但至少它起作用。
答案 1 :(得分:0)
尝试添加这两个
xmlhttp.setRequestHeader('Content-length',url.length);
xmlhttp.setRequestHeader('Connection','close');