Php IE中的第二个Ajax请求问题
嗨, 我用JS编写了这段代码,另外我还发送了一个类似于上面的ajax请求,但是第二个请求在IE中似乎没有发送响应,而在firefox中运行良好。另外,我对这两个请求使用了不同的对象。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
第一个响应在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();
}
});