2011-03-10 109 views
0

我正在使用AJAX很长一段时间,它有时会发送一个请求,然后就像它错误发送另一个请求,第二个请求得到响应,但第一个请求会持续加载到无限(在FireBug上),并且捕获响应的代码不会被触发... 当您发送请求时,它被另一端处理,但是当您从中获取数据时,它不会始终工作。为什么AJAX有时会发送两个相同的请求

这里是代码:

function ajaxF(urlr,obradi, data) 
{ 
var xmlHttp; 
try 
    { 
    // Firefox, Opera 8.0+, Safari 
    xmlHttp=new XMLHttpRequest(); 
    } 
catch (e) 
    { 
    // Internet Explorer 
    try 
    { 
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch (e) 
    { 
    try 
     { 
     xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    catch (e) 
     { 
     if (first != 1) 
      { 
       alert("Your browser does not support AJAX!"); 
       return false; 
      } 
     } 
    } 
    } 

    xmlHttp.onreadystatechange=function() 
    { 
    if (xmlHttp.readyState == 4) 
{ 
     if (xmlHttp.status == 200) 
     { 

     if (xmlHttp.responseText != '') 
       { 


       if (obradi == 'dosomething') 
       { 
       //do something 
       } 




       } 

      } 
} 

    } 

    xmlHttp.open("POST",urlr,true); 
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlHttp.setRequestHeader("Content-length", data.length); 
    xmlHttp.setRequestHeader("Connection", "close"); 
    xmlHttp.send(data); 


} 




data = 'value=1'; 
ajaxF("file.php", "dosomething",data); 
+1

你真的应该使用类似jQuery的东西。 – 2011-03-10 05:59:38

回答

1

我没有回答你的问题,但你尝试使用了一个框架,Ajax请求,如JQuery或原型?两者都非常简单易用,而且似乎没有得到这些错误,因为它们已经得到了很好的调整。

对不起,如果这没有任何帮助。

相关问题