2011-03-10 147 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或原型?兩者都非常簡單易用,而且似乎沒有得到這些錯誤,因爲它們已經得到了很好的調整。

對不起,如果這沒有任何幫助。

相關問題