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

来源:互联网 发布:sql中合计前几列的和 编辑:程序博客网 时间:2024/05/18 03:33

方法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;

}



详情地址:http://yayihouse.com/yayishuwu/chapter/961

原创粉丝点击