2011-07-28 106 views
0
var xmlhttp; 

    if (window.XMLHttpRequest) 
    { // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    { // code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 



    xmlhttp.open("GET" , "rajax_calls.php?"+form_data , true); 
    xmlhttp.send(); 

    // alert(xmlhttp.responseText); 

    xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
      sel_2.innerHTML=xmlhttp.responseText;  
    } 

嗨, 我wrting在JS這個代碼,加上我也發送類似於上面的一個多一個Ajax請求,但第二個請求,一點兒也不似乎發送響應在IE中,雖然它在firefox中工作正常。另外,提及我使用兩個請求的單獨對象。 第一個響應在IE,firefox.I正在使用IE7。二Ajax請求的問題

+0

您是否收到任何回覆? (即與其他值調用的onreadsystatechange)? – tinyd

回答

0

你需要爲每個請求

function req() { 
    var xmlhttp; 

    if (window.XMLHttpRequest) 
    { // code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    { // code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    return xmlhttp; 
} 
+0

我正在那樣做。然後,它不工作。 – Mike

0

阿賈克斯完整的處理,當且僅當它得到這個結合狀態

xmlhttp.readyState==4 && xmlhttp.status==200 

您可以檢查它,但是把創建對象警報

alert(xmlhttp.readyState +' '+ xmlhttp.status); 

可能會對你有幫助..

即使我想代碼應該像

xmlhttp.onreadystatechange=function() 
{ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     sel_2.innerHTML=xmlhttp.responseText;  
} 
xmlhttp.open("GET" , "rajax_calls.php?"+form_data , true); 
xmlhttp.send(); 
0

而是使用Prototype或jQuery的,那麼你不必擔心這樣的事情,即使它是很好的瞭解底層代碼。 帶原型:

new Ajax.Request('rajax_calls.php', { 
    parameters: formdata, 
    method: 'get', 
    onComplete: function(t) { 
     //alert(t.responseText.strip()); 
     // you can do another request here if you want... 
     sel_2.innerHTML=t.responseText.strip(); 
    } 
});