ajax IE下获取不到返回值的问题,但在FIREFOX下可以~
functionCheckAjax(type,keyword){varxmlHttp;varurl="ajax/register_ajax.php?keyword="+k...
function CheckAjax(type,keyword)
{
var xmlHttp;
var url = "ajax/register_ajax.php?keyword="+keyword+"&type="+type+"&"+Math.random();
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
{
var b = xmlHttp.responseXML;
alert(b);
}
}
xmlHttp.open('GET', url, true);
xmlHttp.send(null);
}
请教怎么回事?应该怎么写?
var b = xmlHttp.responseXML;这里写错了
是下面这个
var b = xmlHttp.responseText;
,在IE不得,firefox下得
找到原因了
要使用responseXML属性,请求的是xml文件或者设置了响应头为"text/xml"的动态页面了。要注意如果请求的是动态页面,一定要设置contenttype为"text/xml"
asp为 response.contenttype="text/html"
asp.net为 Response.ContentType="text/html";
php为 header("content-type:text/xml;"); 展开
{
var xmlHttp;
var url = "ajax/register_ajax.php?keyword="+keyword+"&type="+type+"&"+Math.random();
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
{
var b = xmlHttp.responseXML;
alert(b);
}
}
xmlHttp.open('GET', url, true);
xmlHttp.send(null);
}
请教怎么回事?应该怎么写?
var b = xmlHttp.responseXML;这里写错了
是下面这个
var b = xmlHttp.responseText;
,在IE不得,firefox下得
找到原因了
要使用responseXML属性,请求的是xml文件或者设置了响应头为"text/xml"的动态页面了。要注意如果请求的是动态页面,一定要设置contenttype为"text/xml"
asp为 response.contenttype="text/html"
asp.net为 Response.ContentType="text/html";
php为 header("content-type:text/xml;"); 展开
2个回答
展开全部
您好!很高兴为您答疑!
完整的创建过程如下:
{xmlhttp = new XMLHttpRequest;}
catch(e){}
if(window.ActiveXObject)
{
try
{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}
try
{xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");}
catch(e){}
}
if(!xmlhttp)
{
alert("不能创建XMLHTTP对象!");
return false;
}
return xmlhttp;
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
完整的创建过程如下:
{xmlhttp = new XMLHttpRequest;}
catch(e){}
if(window.ActiveXObject)
{
try
{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}
try
{xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");}
catch(e){}
}
if(!xmlhttp)
{
alert("不能创建XMLHTTP对象!");
return false;
}
return xmlhttp;
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
IE版本不同的话,创建对象的版本也是不一样的.在创建这个对象的时候,也要同时注意创建
MSXML2.XMLHTTP
IE版本不同的话,创建对象的版本也是不一样的.在创建这个对象的时候,也要同时注意创建
MSXML2.XMLHTTP
追问
具体怎么弄?我试了xmlHttp=new ActiveXObject("MSXML2.XMLHTTP ");
不行啊
追答
try
{xmlhttp = new XMLHttpRequest;}
catch(e){}
if(window.ActiveXObject)
{
try
{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}
try
{xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");}
catch(e){}
}
if(!xmlhttp)
{
alert("不能创建XMLHTTP对象!");
return false;
}
return xmlhttp;
这个才是一个完整的创建过程.
不管最终创建是否成功,你都要检查一下对象是否存在.如果不存在,就要提示,并返回.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询