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,则表示取消本次事件
|
complete |
function
|
请求完成后调用的回调函数,改函数无论数据发送成功或失败都会调用,其中有两个参数,一个是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请求成功时执行的函数
|