除了可以使用全局性函数load(),get(),post()实现页面异步调用和服务器交互数据外,在jQuery中,还有一个功能更为强悍的方法$.ajax(),该方法不仅可以方便地实现上面这三个全局函数完成的功能,更多地关注实现过程中的细节。
$.ajax()中的参数及使用方法
在jQuery中,$.ajax是底层的方法,也是功能最强的方法,之前讲的$.get(),$.post(),$.getScript(),$getJSON()都是在此方法的基础之上建立的。其调用方法格式为:
$.ajax([options])
其中,可选参数[options]为$.ajax()方法中的请求设置,其格式为key/value,既包括发送请求的参数,也含有服务器响应后回调的数据
参数名 | 类型 | 功能描述 |
url | String | 发送数据请求地址(默认为当前页面)。 |
type | String | 数据请求方式(post或get),默认为get。 |
data | String或Object | 发送到服务器的数据。如果不是字符串则自动转成字符串格式,如果是get请求方式,那么该字符串附在url的后面。 |
datatTy-pe | String | 服务器返回的数据类型,如果没有指定,jQuery将自动根据HTTP包MLME信息自动判断,服务器返还的数据根据自动判断的结果进行解析,传递给回调函数,其可用类型为: html:返回纯文本的HTML信息,包含的Script标记会在插入页面时被执行。 script:返回纯文本JavaScript代码。 text:返回纯文本字符串。 xml:返回可被jQuery处理的XML文档。 json:返回JSON格式的数据。 |
before-Send | Function | 该函数用于发送请求前修改XMLHttpRequest对象,其中的参数就是XMLHttpRequest对象,由于该函数本身是jQuery事件,因此,如果函数返回false,则表示取消本次事件。 |
comple-te | Function | 请求完成后调用的回调函数,该函数无论数据发送成功或者失败都会调用,其中有两个参数,一个是XMLHttpRequest对象,另外一个是strStatus,用于描述成功请求类型的字符串。 |
succes-s | Function | 请求成功后调用的回调函数,该函数有两个参数,一个是根据参数dataType处理后服务器返还的数据,另外一个是strStatus,用于描述状态的字符串。 |
error | Function | 请求失败后调用的回调函数,该函数有三个参数,第一个是XMLHttpRequest对象,第二个是出错信息strError,第三个是捕捉到错误对象strObject。 |
timeout | Number | 请求超时的时间(毫秒),该设置将覆盖$.ajax()方法中的同样设置。 |
global | Boolean | 是否响应全局事件,默认true,表示响应,如果设置成false,表示不响应,那么,全局事件$.ajaxStart等将不响应。 |
async | Boolean | 是否异步请求,默认是true,表示异步,如果设置成false,表示同步请求。 |
cache | Boolean | 是否进行页面缓存,true表示进行缓存,false表示不进行缓存。 |