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

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

function upload(){


            setInterval(function callMeOften()
            {
                $.ajax({
                   method: 'get',url : 'uploadinfo.PHP?unique_id=<?PHP echo $some_uniq_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()调用;文件上传表单的操作

<form id="something" onsubmit="upload();" action="status.PHP" enctype="multipart/form-data" method="post">

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

这是怎么回事?

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

解决方法

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

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...