Firefox(火狐浏览器) 中使用AJAX 需要注意以下地方
1. XMLHttpRequest
function CreateXMLHTTP()
{
var xmlHttpRequest;
if (window.XMLHttpRequest) //For general cases.
{
//alert("0");
xmlHttpRequest = new XMLHttpRequest();
}
else //For IE.
{
if (window.ActiveXObject)
{
//alert("1");
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttpRequest;
}
2.xmlhttp.responseXML
Firefox(火狐浏览器) 中不支持 responseXML 小写。
3.xmlhttp.responseXML & XMLDoc
火狐中 xmlhttp.responseXML 返回类型为 xmldocument 。IE中返回的object类型。所以 火狐中直接解析 xmlhttp.responseXML 就可以。不用象IE中 xmlDoc.load(data);
4. XMLDoc(可选)
function CreateXMLDoc()
{
var xmlDoc;
//判断是否为Firefox或IE
var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
var ie = (typeof window.ActiveXObject != 'undefined');
if (moz)
{
xmlDoc = document.implementation.createDocument("", "doc", null);//创建FIREFOX下XML文档对象
}
else if (ie)
{
xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
xmlDoc.async = true;
xmlDoc.resolveExternals = true;
while( xmlDoc.readyState != 4) {};//创建IE下XML文档对象
}
return xmlDoc;
}
5. 解析DOM
IE 中可以用 child.childNodes[1].text 而火狐中必须用 child.childNodes[1].firstChild.nodeValue
以上几点注意到基本上AJAX在IE中和火狐中就都可以运行了