您的位置:首页 > Web前端 > JQuery

jQuery学习笔记之Ajax在jQuery中的应用

2014-05-16 15:03 537 查看

加载异步数据

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,既包含发送请求的参数,也包含有服务器响应后回调的数据。

参数名类型功能描述
urlString发送请求的地址(默认为当前页面)
typeString 数据请求方式(post或get),默认为get
dataString或Object发送到服务器的数据。如果不是字符串则自动转成字符串如果是get请求方式,那么,该字符串将附在url的后面
dataTypeString服务器返回的数据类型,如果没有指定,jQuery将自动根据HTTP包MIME信息自动判断,服务器返回的数据根据自动判断的结果进行解析,传递给回调函数,器可用类型为:
html:返回村文本的HTML信息,包含Script标记会在插入页面时被执行
script:返回纯文本的JavaScript代码
text:返回纯文本字符串
xml:返回可被jQuery处理的XML文档
json:返回JSON格式的数据
beforeSendFunction该函数用于发送请求钱修改XMLHttpRequest对象,其中参数就是XMLHttpRequest对象,由于该函数本身是jQuery事件,因此如果函数返回false,则表示取消本次事件
completeFunction请求完成后调用的回调函数,该函数无论数据发送成功或失败都会调用,其中有两个参数,一个是XMLHttpRequest对象,另外一个是strStatus,用于描述成功请求类型的字符串
successFunction请求成功后调用的回调函数,该函数有两个参数,一个是根据参数dataType处理后服务器返回的数据,另外一个是strStatus,用于描述状态的字符串
errorFunction请求失败后调用的回调函数,该函数有三个函数,第一个是XMLHttpRequest对象,第二个是出错信息strError,第三个是捕捉到的错误对象strObject
timeoutNumber 请求超时的时间(毫秒),该设置将覆盖$.ajaxSetup()方法中的同样设置
globalBoolean4000
是否相应全局事件,默认是true,表示响应,如果设置成false,表示不响应,那么,全局事件$.ajaxStart等将不响应
ayncBoolean是否为异步请求,默认是true,表示异步,如果设置false,表示同步请求
cacheBoolean是否进行页面缓存,true表示进行缓存,false表示不进行缓存

$ajaxSetup()设置全局Ajax

在jQuery中,可以使用$ajaxSetup()方法设置全局性的Ajax默认选项,一次设置,全局有效,大大简化了$.ajax()方法的编写。

$.ajaxSetUp([options])

其中,可选参数[options]是一个对象,通过该对象设置$.ajax()方法中的参数。

Ajax中的全局事件

在jQuery中,除了全局函数外,还有6个全局性的Ajax事件。由于在使用$.ajax()方法时,其中的选项参数global的值默认情况下为true,所有在执行的Ajax的数据请求,都绑定了全局事件。

Ajax全局事件的参数及功能

事件名称参数功能描述
ajaxComplete(callback)callbackAjax请求完成时执行函数
ajaxError(callback)callbackAjax请求发生错误时执行函数,其中不捕捉到的错误可以作为最后一个参数进行传递
ajaxSend(callback)callbackAjax请求发送前执行函数
ajaxStart(callback)callbackAjax请求开始时执行函数
ajaxStop(callback)callbackAjax请求结束时执行函数
ajaxSuccess(callback)callbackAjax请求成功时执行函数
在jQuery中,所有的全局事件都是以XMLHttprequest对象和设置作为参数传递给回调函数,在处理回调函数时,只要分析其传回的参数值即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery