原生ajax 与jquery ajax 的对比


第一种:原生js 的ajax请求
XMLHttpRequest,不得不提的一个对象,AJAX最核心也是最底层的对象。可悲哀的是,它是W3C的一个标准,但微软IE一直很自我(微软IE)。怎么办?当然是用一个方法和谐掉它们。
【原生ajax 与jquery ajax 的对比】

//异步检测 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吧。



    推荐阅读