2011-07-28 42 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(); 
    } 
});