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

Ajax(Asynchronous JavaScript and XML)在JQuery中的应用

2015-05-03 15:01 525 查看
JQuery中的load()方法:
在传统的JavaScript中,使用XMLHttpRequest对象异步加载数据,而在jQuery中使用load()方法就可以实现获取异步数据的功能。
load(url, [data], [callback]);
其中url为请求目标地址。
可选参数[data]表示发送到服务器的数据,其格式为key/value。
可选参数[callback]表示成功加载后,返回至加载页面的回调函数。
例:$("#myDiv").load("b.html .classInB"); // 可以获取b.html中的.classInB中的内容

JQuery中的全局函数getJSON():
$.getJSON(url, [data], [callback]);
参数url表示请求地址,一般以后缀名.json格式。
可选参数[data]表示发送到服务器的数据,其格式为key/value。
可选参数[claaback]表示加载成功时执行的回调函数。

JQuery中的全局函数getScript():
使用此方法是从服务其获取.js文件,
$.getScript(url, [callback]);

Jquery中异步加载XML文档:
$.get(url, [data], [callback], [type]);
可选参数[type]表示返回数据的格式,如HTML、XML、JS、JSON、TEXT等。

请求服务器数据:
$.get(url, [data], [callback]);
例:
$.get("Login.jsp",
{name: encodeURI($("#name").val()), password: encodeURI($("#password").val())},
function(data) {
if(data == "OK"){
alert("成功登陆");
...
} else {alert("登陆失败");}
}
);
其可选参数[data]的格式是{key0:value0, key1:value1, ...}。在客户端接收时使用decodeURI()进行解码。

$.post(url, [data], [callback], [type]);

serialize()序列化表单:当使用get(),post()想服务器传递的参数过多时,该方法可以简化参数传值的方式,将所选的DOM元素准换成能随Ajax传递的字符串。
例: $.post("Login,jsp", $("#loginForm").serialize(), function(data){...});

$.ajax()方法:
功能强悍的最底层的异步请求方法。
$.ajax([options]);
其中可选参数[options]为该方法中的请求设置,其格式为key/value,既包含发送请求的参数,也含有服务器响应后回调的函数。
$.ajax()参数列表:

参数名
类型
功能描述
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,则表示取消本次事件
completefunction
请求完成后调用的回调函数,改函数无论数据发送成功或失败都会调用,其中有两个参数,一个是XMLHttpRequest对象,另一个是strStatus,用于描述成功请求类型的字符串
success
function
请求成功后会调用的回调函数,该函数有两个参数,一个是根据dataType处理后服务器返回的数据,另一个是strStatus,用于描述状态的字符串
error
function
请求失败后调用的回调函数,该函数有三个参数,一个是XMLHttpRequest对象,第二个是strError,第三个是捕捉到的错误对象strObject
timeout
number请求超时的时间(毫秒),该设置将覆盖$.ajaxSetup()方法中同样的设置
global
boolean
是否响应全局事件,默认是true,表示响应,如果设置成false,表示不响应,那么全局事件$ajaxStart等将不响应
async
boolean
是否为异步请求,默认是true,如果设置为false,则表示该请求为同步请求
cache
boolean
是否进行页面缓存,true表示进行缓存,false表示不进行缓存
$.ajaxSetup()设置全局Ajax
在使用$.ajax()方法时,有时要调用多个$.ajax()方法,使用该方法设置全局性的Ajax请求默认选项,一次设置,全局有效。
$.ajaxSetup([options]);
可选参数[options]是一个对象,例:$.ajaxSetup({type:"GET", url:"FindJobs.jsp", dataType:"xml"});

Ajax全局事件
Ajax全局事件及其参数及功能:
事件名称
参数
功能描述
ajaxComplete(callback)
function
Ajax请求完成时执行的函数
ajaxError(callback)
function

Ajax请求发生错误时执行的函数,其中捕捉到的错误可以作为最后一个参数进行传递
ajaxSend(callback)
function

Ajax请求发送前执行的函数

ajaxStart(callback)
function

Ajax请求开始时执行的函数

ajaxStop(callback)
function

Ajax请求结束时执行的函数

ajaxSuccess(callback)
function

Ajax请求成功时执行的函数

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: