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;
}
您好, 我在JS中编写这个代码,而且我还发送了一个类似于上面的ajax请求,但是第二个请求似乎没有在IE中发送响应,而它在firefox中运行正常。另外,提一下我正在为这两个请求使用单独的对象。 第一个响应在IE,firefox中都正常。我正在使用IE7。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
Ajax完整处理当且仅当它获得此组合状态时
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();
答案 2 :(得分: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();
}
});