jQuery(八)、ajax

1、jQuery.ajax(url[, settings])

通过HTTP请求加载远程数据。

注意:所有的settings选择都可以通过$.ajaxSetup()函数来全局指定。

回调函数
在实际开发中,当我们需要处理$.ajax() 得到的数据,就需要使用到回调函数。
  (1) beforeSend:在发送请求之前调用,并且传入一个 XMLHttpRequest 作为参数。
  (2) error:在发送请求出差时调用。传入 XMLHttpRequest 对象、描述错误类型的字符串以及一个异常对象。
  (3) dataFilter:在请求成功之后调用。传入返回的数据以及 'dataType’参数的值。并且必须返回新的数据传递给success回调函数。
  (4) success:请求发送成功,后台返回数据调用。
  (5) complete:在请求完成之后调用,无论成功或失败。出入 XMLHttpRequest 对象,以及包含成功或失败代码的字符串。

settings选项
1 async    Boolean
  默认为true,表示所有请求均为异步请求。如果要发送同步请求,将该属性设置为false。
2 beforeSend(XHR)    function

function (XMLHttpRequest) {
    this; // 调用本次AJAX请求时传递的options参数
}

3 cache    Boolean
  默认为true,dataType为script和jsonp时默认为false,jQuery1.2新功能,设置为false将不缓存此页面。
4 complete(XHT, TS)    function

function (XMLHttpRequest, textStatus) {
    this; // 调用本次AJAX请求时传递的options参数
}

5 contents    Map
  一个以"{字符串:正则表达式}“配对的对象,用来确定jQuery将如何解析响应,给定内容类型。
6 contentType  String
  默认为"application/x-www-form-urlencoded”,发送信息至服务器时的内容编码类型。
7 context    Object
  这个对象用于设置ajax相关回调函数的上下文。即让回调函数内的 this 关键字指向这个对象(如果不设置这个参数,this将指向本次ajax请求时传递的options参数)。比如指定一个DOM元素作为context参数,回调函数的this 就指向这个 DOM元素。
8 converters    Map
  默认为 {"* text":window.String, "text html":true, "text json":jQuery.parseJSON, "text xml":jQuery.parseXML},表示对一个数据类型进行转换。每个转换器的值是一个函数,返回相应的转化值。
9 crossDomain    Map
  默认false,表示同域请求。如你想强制跨域请求(如JSONP形式),设置为false,是服务端重定向到另一域。
10 data    Object, String
  发送到服务器的数据。将自动转换为请求字符串格式。可以为字符串,如"&key1=val1&key2=val2",也可以是一个json对象。
11 dataFilter    function
  给ajax返回的原始数据进行相应的处理。提供data和type两个参数:data是返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。

function (data, type) {
    // 对Ajax返回的原始数据进行预处理
    return data  // 返回处理后的数据
}

12 dataType    String
  设置服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包MIME信息来智能判断,比如XML MIME就被识别为XML。可用值:
  xml:返回XML文档。
  html:返回纯文本HTML信息。
  script:返回纯文本JavaScript代码。不会自动缓存结果,除非设置了cache参数。
  json:返回JSON格式数据。
  jsonp:返回JSONP格式。
  text:返回纯文本字符串。
13 error    function

function (XMLHttpRequest, textStatus, errorThrown) {
    // 通常 textStatus 和 errorThrown 之中只有一个会包含信息
    this; // 调用本次AJAX请求时传递的options参数
}

14 global    function
  默认为true,触发全局ajax时间。如果设置为false,将不会触发全局ajax时间,如ajaxStart 或 ajaxStop可用于控制不用的 ajax事件。
15 headers    Map
  默认为 {} 。以 key:value 的形式设置请求头信息。
16 mimeType      String
  一个mime类型,用来覆盖XMLHttpRquest 的 MIME类型。
17 password      String
  用于响应HTTP访问认证请求的密码。
18 processData      Boolean
  默认为true,表示通过data选项传递进来的数据,如果是一个对象,都会转换成一个查询字符串,以配合默认内容类型 “application/x-www-form-urlencoded”。如果要发送DOM 树信息或其他不希望转换的信息(如使用ajax上传文件),请设置为false。
19 statusCode    Map
  默认为 {} ,一组数字的HTTP代码和函数对象,当相应时调用了相应的代码。

// 如果响应状态是404,将触发以下警报:
$.ajax({
  statusCode: {404: function() {
    alert('page not found');
  }
});

20 success(data, textStatus)

21 timeout    Number
  设置请求超时时间(毫秒)。此设置会覆盖全局设置$/ajaxSetup()

22 type      String
  请求方式,默认为GET
  
23 url      String
  发送请求的地址。

24 username      String
  用于响应HTTP访问认证请求的用户名。

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

载入远程HTML文件代码并插入至DOM中。

默认使用GET繁琐,传递data参数自动转换为POST方式。

参数:
  (1) url:带装入HTML网页地址。
  (2) data:发送至服务器的key/value数据。
  (3) callback:载入成功时回调函数。

3、jQuery.get(url[, data][, callback][, type])

通过远程HTTP GET 请求载入信息。

这是这个简单的GET请求功能以取代复杂 $.ajax。请求成功时可回调函数,如果需要咋出错时执行函数,请使用$.ajax

参数:
  (1) type:返回内容格式,xml、html、script、json、text、_default。

4、jQuery.getJSON(url[, data][, callback])

通过HTTP GET请求载入JSON数据。

5、jQuery.getScript(url[, callback])

通过HTTP GET请求载入并执行一个JavaScript文件。
参数:
  (1) url:带装入js文件地址。
  (2) callback:载入成功时回调函数。

6、jQuery.post(url[, data][, callback][, type])

通过远程HTTP POST请求载入信息。

这是这个简单的POST请求功能以取代复杂 . a j a x 。 请 求 成 功 时 可 回 调 函 数 , 如 果 需 要 咋 出 错 时 执 行 函 数 , 请 使 用 .ajax。请求成功时可回调函数,如果需要咋出错时执行函数,请使用 .ajax使.ajax。
参数:
  (1) type:返回内容格式,xml、html、script、json、text、_default。

7、jQuery.ajaxSetup([options])

设置全局AJAX默认选项。参数参考’$.ajax’ settings。

$.ajaxSetup({
  url: "/xxx",
  type: "POST"
});
$.ajax({ data: myData });

8、serializeArray()

序列化表格元素返回JSON数据结构数据。

返回JSON数组对象,其中每个对象包含一个或两个名值对——name参数和value参数。如:

[ 
     {name: 'firstname', value: 'Hello'}, 
     {name: 'lastname', value: 'World'},
     {name: 'alias'}, // this one was empty
  ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值