jquery的ajax()之|jquery的ajax()之 beforeSend属性详解和XMLHttpRequest详解

方法beforeSend,用于在向服务器发送请求前添加一些处理函数。这是一个ajax事件,在ajax请求开始之前就被触发,通常允许用户修改XMLHttpRequest对象(比如说设置附加的头部信息)。一般用在提交的数据比较大或者访问服务器的速度比较慢的时候,给可以一些提示,如"正在处理,请等待。。。"
$.ajax({
type:"GET",
url:"a.php",
dataType:"json",
beforeSend:function(XMLHttpRequest){
alert();
}
});


XMLHttpRequest的补充


XMLHttpRequest对象是Ajax技术的核心。在Internet Explorer 5中,XMLHttpRequest对象以ActiveX对象引入,被称之为XMLHTTP,它是一种支持异步请求的技术。后来其他浏览器也提供了XMLHttpRequest类,虽然这些浏览器都提供了XMLHttpRequest类,但它们创建XMLHttpRequest类的方法并不相同。
不刷新页面就和服务器进行交互是Ajax最大的特点。这个重要的特点主要归功于XMLHttpRequest对象。时响应用户与服务器之间的交互,不必进行页面刷新或者跳转,使用户的等待时间缩短,同时也减轻了服务器端的负载。
在使用XMLHttpRequest对象向服务器发送请求和处理响应之前,必修先用JavaScript创建一个XMLHttpRequest对象,然后通过这个对象来和服务器建立请求并接收服务器返回的数据。XMLHttpRequest不是一个W3C标准,所以在不同的浏览器中,XMLHttpRequest对象的创建方式不同,因此在程序中创建XMLHttpRequest对象之前需要对浏览器进行判断。只需要检查浏览器是否提供对ActiveX对象的支持即可。如果浏览器支持ActiveX对象,就可以使用ActiveX来创建XMLHttpRequest对象。否则,就需要在程序中使用本地JavaScript对象技术来创建。下面的代码展示了在不同的浏览器中使用JavaScript代码来创建XMLHttpRequest对象的编程方法。

function createXMLHttpRequest() {
var xmlreq = false;
if (window.ActiveXObject) {
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
} elseif (window.XMLHttpRequest) {
xmlreq = new XMLHttpRequest();
}
return xmlreq;
}




【jquery的ajax()之|jquery的ajax()之 beforeSend属性详解和XMLHttpRequest详解】 详情地址:http://yayihouse.com/yayishuwu/chapter/961

    推荐阅读