1、jQuery中的Ajax
jQuery对Ajax操作进行了封装,在jQuery中最底层的方法是$.ajax(),第二层是load(),$.get()、$.post(),第三层是$.getJSON()和$.getScript()。
2、load()方法
load()方法是jQuery中最简单和常用的Ajax方法能载入远程的HTML代码并插入到DOM中,它的结构是load(url[,data][,callback])。
参数 | 类型 | 说明 |
url | String | 请求HTML页面的URL地址 |
data(可选) | Object | 发送到服务器的key/value数据(JSON对象) |
callback(可选) | Function | 请求完成时的回调函数,无论请求成功或失败 |
只需要使用jQuery选择器为HTML片段指定目标位置,然后将要加载的文件的url作为参数传递给load()方法即可。
细节:若只需要加载目标HTML内的某些元素,则可以通过load()方法的url参数来达到目的,通过url参数指定选择符,就可以方便地从加载过来的HTML文档中选出所需要的内容,load()方法的url参数的语法结构为“url selector”(注意空格)。
传递方式:load()方法的传递参数根据参数data来自动确定,若没有参数传递,采用GET方式,否则采用POST方式。
回调函数:对于必须加载完才能继续的操作,load()方法提供了回调函数,该函数有三个参数——代表请求返回内容的data,代表请求状态的textStatus和XMLHttpRequest对象。
任何一个HTML节点都可以用load()方法来加载Ajax,结果直接插入到HTML节点。通常,load()方法加载后的数据是一个HTML片段。
3、$.get()或$.post()方法
$.get()方法使用GET方式来进行异步请求,它的结构是$.get([,data][,callback][,type])。
参数 | 类型 | 说明 |
url | String | 请求HTML页面的URL地址 |
data(可选) | Object | 发送到服务器的key/value数据(JSON对象) |
callback(可选) | Function | 载入成功时的回调函数,只有当Response的返回状态为seccess时才调用该方法,自动将请求结果和状态传递给该方法 |
type(可选) | String | 服务器返回内容的格式,包括xml、html、script、json、text |
$.get()方法的回调函数只有两个参数——data代表返回的内容,可以是XML文档,JSON文件,HTML片段等;textStatus代表请求状态,其值可能是success,error,notmodify,timeout四种。
$.get()方法和$.post()方法是jQuery中的全局函数,而find()等方法都是对jQuery对象进行操作的方法。
请求JSON数据的三种方式:
$.get(url, args, function(data) {
...
}, json);
$.post(url, args, function(data) {
...
}, json);
$.getJSON(url, args, function(data) {
...
});