ajax get before,jquery的ajax()之 beforeSend属性详解

方法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对象的编程方法。

functioncreateXMLHttpRequest() {

varxmlreq =false;

if(window.ActiveXObject) {

xmlreq=newActiveXObject("Microsoft.XMLHTTP");

}elseif(window.XMLHttpRequest) {

xmlreq=newXMLHttpRequest();

}

returnxmlreq;

}

XMLHttpRequest对象的属性

属性描述

onreadystatechange每个状态改变时都会触发这个事件处理程序,通常会调用一个JavaScript函数。

readyState请求的状态

responseText服务器的响应,表示为一个串

responseXML服务器的响应,表示为XML,这个对象可以解析为一个DOM对象

status服务器的HTTP状态

statusTextHTTP状态的对应文本

XMLHttpRequest对象的一些常用的方法方法描述

abort()停止当前请求

getAllResponseHeaders()把HTTP请求的所有相应首部作为键/值对返回。

getResponseHeader("header")返回指定首部的串值。

open("method","url")建立对服务器的调用。method参数可以是GET、POST或PUT等;url参数可以是相对URL或绝对URL。这个方法还包括3个可选参数。

send(content)向服务器发送请求。

setRequestHeader("header","value")把指定首部设置为所提供的值,在设置任何首部之前必须先调用open()方法。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值