Ajax是现在前端开发数据交互用得很广的技术,主要的优势就是对页面的请求以异步方式发送到服务器。
==XMLHttpResquest==对象是Ajax的核心
因为不同的浏览器对Ajax支持的不同,尤其是IE浏览器,所以我们在获取XMLHttpResquest对象是要进行不同的处理,我们用一个函数来进行封装,封装好以后就可以直接用一个变量来接收使用
function getHttpObject(){
if(typeof XMLHttpResquest == "undefined" ){
XMLHttpResquest = function(){
try{ return new ActiveXObject("Msxml2.XMLHTTP.6.0")}
catch(e){}
try{ return new ActiveXObject("Msxml2.XMLHTTP.3.0")}
catch(e){}
try{ return new ActiveXObject("Msxml2.XMLHTTP")}
catch(e){}
return false;
}
}
return new XMLHttpRequest();
}
XMLHttpResquest封装方式很多,互联网及各种书籍中有着多种创建方式,有的复杂很多行代码,有的则简洁很少代码。当然复杂的考虑的情形更多一些,在实际使用过程中根据需求进行添加。
使用方法
var request = new getHttpObject();
ajax的常用请求方式有2中 get和post
在ajax请求后,XMLHttpRequest的会返回很多该对象的属性,浏览器会在不用阶段更新readyState属性值:
0 表示未初始化
1 表示正在加载
2 表示加载完毕
3 表示正在交互
4 表示完成
如果readyState的值为4就表示可以访问服务器发送回来的数据,如果要想得到数据就需要使用responseText或者responseXML,在使用ajax过程中请求只能同域的数据,不能跨域请求
ajax看起来比较繁琐,使用起来也比较繁琐,建议在使用ajax过程时,直接使用jQuery已经封装好的版本。