您的位置:首页 > Web前端 > JQuery

原生ajax 与jquery ajax 的对比

2014-03-19 18:16 351 查看
第一种:原生js 的ajax请求

XMLHttpRequest,不得不提的一个对象,AJAX最核心也是最底层的对象。可悲哀的是,它是W3C的一个标准,但微软IE一直很自我(微软IE)。怎么办?当然是用一个方法和谐掉它们。

//异步检测
var XMLHttpReq;
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) { //Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE浏览器
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
}

这样就拿到了XMLHttpRequest对象。

下面是处理响应的函数:

function checkXMLEmailResponse(){
if (XMLHttpReq.readyState == 4) { // 判断对象状态
if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
var resXML = XMLHttpReq.responseText;

//这里写代码

} else { //页面不正常
window.alert("您所请求的页面有异常。");
}} }

好了,xhr对象有了,处理响应的函数也有了,那怎么调用呢。

createXMLHttpRequest();//初始化xhr
XMLHttpReq.open('GET','/demo/ajax/iajax20110306_query.php?entryname='+val,true);
//与readyState属性有关,当readyState改变时它才会触发
XMLHttpReq.onreadystatechange=checkXMLEmailResponse; //这里设置响应的函数
//异步处理完成后发送数据出去(比如某些需要在焦点事件后再执行的)
XMLHttpReq.send(null);

第二种:jquery 封装的ajax方法

$.ajax( {
url : url,
type : 'get',
success : function(data) {
//data为返回数据

}
是不是很简单呢。那我们以后就快乐得用jquery吧。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax