加载异步数据
jQuery中的load()方法
在jQuery中,使用load()方法可以轻松实现获取异步数据的功能。
load(url,[data],[callback])
其中,参数url为被加载的页面地址,可选项[data]参数表示发送到服务器的数据,其格式为key/value。另一个可选项[callback]参数表示加载成功后,返回至加载页的回调函数。
在load()方法中,参数url还可以用于过滤页面中的某类别的元素
jQuery中的全局函数
$.getJSON(url,[data],[callback])
参数url表示请求的地址,可选项[data]参数表示发送到服务器的数据,其格式为key/value。另一个可选项[callback]参数表示加载成功时执行的回调函数。
$.getScript(url,[callback])
参数url为等待加载的JS文件地址,可选项[callback]参数表示加载成功执行的回调函数。
jQuery中异步加载XML文档
$.get(url,[data],[callback],[type])
其中,参数url表示等待加载的数据地址,可选项[data]参数表示发送到服务器的数据,其格式为key/value,可选项[callback]参数表示加载成功时执行的回调函数。可选项[type]参数表示返回数据的格式,如HTML、XML、JS、JSON、TEXT等。
请求服务器数据
通过调用$.get()实现了XML文档的加载。除加载数据外,$.get()函数还可以实现数据的请求。
$.post()请求数据
全局函数$.get()与$.post()在本上没有太大区别,不同的是,GET方式不适合传递数量较大的数据,同时,其请求的历史信息会保存在浏览器的缓存中,有一定的安全风险。而以POST方式向服务器发送数据请求,则不存在这两个方面的不足。
$.post(url,[data],[callback],[type])
其中,参数url表示等待加载的数据地址,可选项[data]参数表示发送到服务器的数据,其格式为key/value,可选项[callback]参数表示加载成功时执行的回调函数。可选项[type]参数表示返回数据的格式,如HTML、XML、JS、JSON、TEXT等。
serialize()序列化表单
serialize()
该方法的功能是将所选择的DOM元素转换成能随Ajax传递的字符串,即序列化所选择的的DOM元素。
$.ajax()方法
$.ajax()中的参数及使用方法
$.ajax([options])
其中,可选参数[options]为$.ajax()方法中的请求设置,其格式为key/value,既包含发送请求的参数,也包含有服务器响应后回调的数据。
参数名 | 类型 | 功能描述 |
url | String | 发送请求的地址(默认为当前页面) |
type | String | 数据请求方式(post或get),默认为get |
data | String或Object | 发送到服务器的数据。如果不是字符串则自动转成字符串如果是get请求方式,那么,该字符串将附在url的后面 |
dataType | String | 服务器返回的数据类型,如果没有指定,jQuery将自动根据HTTP包MIME信息自动判断,服务器返回的数据根据自动判断的结果进行解析,传递给回调函数,器可用类型为: html:返回村文本的HTML信息,包含Script标记会在插入页面时被执行 script:返回纯文本的JavaScript代码 text:返回纯文本字符串 xml:返回可被jQuery处理的XML文档 json:返回JSON格式的数据 |
beforeSend | Function | 该函数用于发送请求钱修改XMLHttpRequest对象,其中参数就是XMLHttpRequest对象,由于该函数本身是jQuery事件,因此如果函数返回false,则表示取消本次事件 |
complete | Function | 请求完成后调用的回调函数,该函数无论数据发送成功或失败都会调用,其中有两个参数,一个是XMLHttpRequest对象,另外一个是strStatus,用于描述成功请求类型的字符串 |
success | Function | 请求成功后调用的回调函数,该函数有两个参数,一个是根据参数dataType处理后服务器返回的数据,另外一个是strStatus,用于描述状态的字符串 |
error | Function | 请求失败后调用的回调函数,该函数有三个函数,第一个是XMLHttpRequest对象,第二个是出错信息strError,第三个是捕捉到的错误对象strObject |
timeout | Number | 请求超时的时间(毫秒),该设置将覆盖$.ajaxSetup()方法中的同样设置 |
global | Boolean | 是否相应全局事件,默认是true,表示响应,如果设置成false,表示不响应,那么,全局事件$.ajaxStart等将不响应 |
aync | Boolean | 是否为异步请求,默认是true,表示异步,如果设置false,表示同步请求 |
cache | Boolean | 是否进行页面缓存,true表示进行缓存,false表示不进行缓存 |
$ajaxSetup()设置全局Ajax
在jQuery中,可以使用$ajaxSetup()方法设置全局性的Ajax默认选项,一次设置,全局有效,大大简化了$.ajax()方法的编写。
$.ajaxSetUp([options])
其中,可选参数[options]是一个对象,通过该对象设置$.ajax()方法中的参数。
Ajax中的全局事件
在jQuery中,除了全局函数外,还有6个全局性的Ajax事件。由于在使用$.ajax()方法时,其中的选项参数global的值默认情况下为true,所有在执行的Ajax的数据请求,都绑定了全局事件。
Ajax全局事件的参数及功能
事件名称 | 参数 | 功能描述 |
ajaxComplete(callback) | callback | Ajax请求完成时执行函数 |
ajaxError(callback) | callback | Ajax请求发生错误时执行函数,其中不捕捉到的错误可以作为最后一个参数进行传递 |
ajaxSend(callback) | callback | Ajax请求发送前执行函数 |
ajaxStart(callback) | callback | Ajax请求开始时执行函数 |
ajaxStop(callback) | callback | Ajax请求结束时执行函数 |
ajaxSuccess(callback) | callback | Ajax请求成功时执行函数 |
在jQuery中,所有的全局事件都是以XMLHttprequest对象和设置作为参数传递给回调函数,在处理回调函数时,只要分析其传回的参数值即可。