锋利的jQuery之jQuery中的ajax

jQuery对Ajax进行了封装,$.ajax()方法是最底层的方法,第2层是load(),get(),post()方法,第3层是$.getScript()和$.getJSON()方法。

1.load()方法

1.1载入HTML文档

load(url [,data] [,callback])

url所请求HTML页面的url

data发送至服务器的key/value

callback请求完成(无论成功还是失败)时的回调函数

1.2筛选载入的文档

用于筛选载入的HTML文档时,url参数的语法结构为"url selector".

1.3传递方式

load()方法的传递方式根据参数data自动指定。如果没有参数指定,则采用GET方式传递;反之采用POST方式传递。

1.4回调函数

回调函数用于必须在请求完成时执行的操作。回调函数有3个参数,分别是请求返回的内容,请求状态和XMlHttpRequest对象。

2$.get()和$.post()方法

$.get(url [, data] [, callback] [, type])

url请求的url地址

data发送至服务器的key/value数据,会作为QueryString附加到请求的url中

callback请求成功时的回调函数(只有Response的状态是success时,才调用),只有两个参数,返回的内容和请求状态。

type服务器端返回内容的格式,包括xml,html,script,json,text和default

$.post()方法

他与$.get()方法的结构和使用方式相同,两者的区别如下:

1)get请求会把参数跟在url后面进行传递,而post请求则是把参数作为http消息的实体内容发送给web服务器。

2)get请求对传输的数据大小有限制(通常不超过2Kb),而post请求则要大得多(理论上是没有限制的)。

3)get请求的数据会被浏览器缓存,所以get方式可能存在安全问题,而post方式相对来说是可以避免这样的问题的。

4)两种方式传递的参数在服务器端的获取方式不一样。在php中,get方式的数据可以用$_GET[]获取,post方式的数据可以用$_POST[]获取,两者都可以用$_REQUEST[]来获取。

3$.getScript()和$.getJSON()方法

$.getScript()

该方法可以用来直接加载.js文件。

$.getJSON()

该方法用于加载JSON文件。

4$.ajax()方法

$.ajax(options)

该方法只有一个参数,但是在这个对象中包含了所需要的请求设置以及回调函数等信息,参数以key/value的形式存在,所有的参数都是可选的。

url请求的URL地址

type 请求方式,默认为GET

timeout请求的超时时间

data 发送到服务器的数据,如果不是字符串格式,会自动转换为字符串格式

dataType预期服务器返回的数据类型

beforeSend发送请求前可以修改XMLHttpRequest对象的函数

complete请求完成时的回调函数

success请求成功时的回调函数

error请求失败时的回调函数

global默认为true,表示是否触发全局Ajax事件

相关推荐