Php IE中的第二个Ajax请求问题

Php IE中的第二个Ajax请求问题,php,javascript,Php,Javascript,嗨, 我用JS编写了这段代码,另外我还发送了一个类似于上面的ajax请求,但是第二个请求在IE中似乎没有发送响应,而在firefox中运行良好。另外,我对这两个请求使用了不同的对象。 第一个响应在IE和firefox中都得到了正确的响应。我使用的是IE7。您需要为每个请求创建对象 var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari

嗨, 我用JS编写了这段代码,另外我还发送了一个类似于上面的ajax请求,但是第二个请求在IE中似乎没有发送响应,而在firefox中运行良好。另外,我对这两个请求使用了不同的对象。
第一个响应在IE和firefox中都得到了正确的响应。我使用的是IE7。

您需要为每个请求创建对象

    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;    
    }

当且仅当Ajax获得此合并状态时,它才能完成处理

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;
}
你可以检查它,但要保持警惕

xmlhttp.readyState==4 && xmlhttp.status==200
也许这对你有帮助

甚至我认为代码应该是这样的

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

相反,使用Prototype或jQuery,那么您就不必担心这样的事情,即使理解底层代码也很好。 原型:

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();

你有什么反应吗?i、 e.是否使用其他值调用OnReadSystemChange?
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(); 
    }
});