在上传过程中,safari / chrome / opera能否发出ajax请求?

基本上我正在做一个简单的ajax请求

function upload(){ setInterval(function callMeOften() { $.ajax({ method: 'get', url : 'uploadinfo.php?unique_id=', dataType : 'text', success: function(text){ updatebar(text); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.status); alert(XMLHttpRequest.responseText); } }); }, 5000); } function updatebar(per){ $('#updateMe').animate({"width" : per}); } 

到一个PHP脚本

 $unique_id = $_GET['unique_id']; $progress = uploadprogress_get_info($unique_id); if(function_exists("uploadprogress_get_info")) { if (floor(($progress['bytes_total']/1024)/1024) > 100){ echo "run"; } else { if ($progress['bytes_uploaded'] == 0 || $progress['bytes_total'] == 0){ echo "100"; } else { echo floor($progress['bytes_uploaded'] / $progress['bytes_total'] * 100); } } 

}

这个函数upload(); 使用onsubmit()调用; 文件上传表单的操作

 

我使用相对路径,请求在FF和IE中工作,但在chrome,safari和opera中,ajax请求甚至在上传过程中都没有被触发。

这是怎么回事?

编辑:最后我只是在一个单独的窗口中显示了上传进度,该窗口是使用onsubmit动作创建的,并重新resize并重新定位到屏幕中心,看起来不错,是迄今为止最简单的方法

据我所知,一个服务器域可以有两个请求可以为浏览器激活。 也就是说,如果您的服务器域名是“code.mydomain.com”,那么一次最多可以打开2个请求。 在您的情况下,首先是文件上传请求。 除了在指定浏览器中上传表单之外,您还必须检查是否有任何其他活动请求。