这可能有点啰嗦,但这真的让我和其他几个人感到困惑。
我们有一个在文件上传期间更新的进度条。JS 在这里(太多无法粘贴到这个正文中)。
基本上,表单提交事件会启动一个计时器循环,该循环每 2 秒触发一次 $.getJSON() 对服务器的调用,以检索关于上传状态的一对值。然后将这些值传递给更新进度条的函数。返回的 JSON 值是定义有效的 JSON。
现在,这段代码在 Firefox 和所有 IE(甚至 6 个)上运行良好,所以我非常有信心服务器端代码是健壮的,但是......在 Safari 和 Chrome 中,进度条根本不会更新.
上传由 Apache 很好地处理,并且 console.log() 调试显示计时器循环肯定正在运行 - 只是 getJSON 似乎没有被触发(网络检查员没有显示调用,Apache 也没有日志。
如前所述,这有点莫名其妙。以前有人用 Chrome/Safari/Webkit 遇到过这个问题吗?