我正在尝试使用jQuery和setInterval定期返回给定URL的值。我的代码如下:
$("form").submit(function() {
setInterval(function(){
$('#upload_progress').load('/upload_progress');
}, 5000);
});
这在Firefox中完美运行,但在chrome中,load()函数永远不会运行。我也使用$ .ajax函数进行了同样的调整。
为什么这只会影响Chrome(v11.0)的任何想法?
非常感谢任何帮助!
答案 0 :(得分:0)
您的代码是否包含在文档准备检查中?
$(document).ready(function(){
// your code
});
如果没有,那可能就是原因。
答案 1 :(得分:0)
首先,您实际上是在提交表单。我很确定这会让浏览器处于“嘿,我在等待从服务器重定向”的状态。如果您真的想要轮询和更新页面,则可能需要执行
$("form").submit(function(e) {
e.preventDefault();
// ...
}
就像一个开始。在这种情况下,它对我有用。在这里,我甚至让你成为一个很小的JSFiddle工作:http://jsfiddle.net/plukevdh/sRe4k/。如果完成后需要重定向,则可以向回调(json或其他)添加更多数据,以便检查{status: 0-100 [percent], completed: true|false}
是否已完成或状态> = 100,只需更改window.location即可。