最近网站经常遇到在谷歌、火狐浏览器上删除功能不可用。后来查看了一下代码。发现Ajax判断浏览器上没有做处理、、默认的只是支持的IE浏览器、于是我在IE上测试如果如此。
对于操作者而言当然是什么浏览器都支持是比较好的。那样操作也方便、。于是我对于Ajax的操作做了个简单的适应各种浏览器的总结。
首先了解Ajax是如何执行的:
Ajax的执行一般分成4个步骤:
1,创建 XMLHttpRequest 对象的语法:
variable=new XMLHttpRequest();
2,向服务器发送请求:
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
3,服务器响应:
如果来自服务器的响应并非 XML,可以使用 responseText 属性。
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性:
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
{
txt=txt + x[i].childNodes[0].nodeValue + "<br />";
}
document.getElementById("myDiv").innerHTML=txt;
4,执行。
现在谈谈第一步创建对象的方法。。浏览器判断这在这一步完成:
//创建XMLHttpReuest对象
function createXMLHttpRequest(){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();//IE浏览器
}
else if(window.ActiveXObject){
xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");//非IE浏览器
}
return xmlhttp;
}
当然也可以这样写:
创建一个布尔型变量,用来检查是否为合法的IE实例