jQuery $.ajax方法

本文详细介绍了jQuery中最底层的Ajax实现方法$.ajax()的使用,包括其结构、参数及回调函数等内容,帮助读者掌握Ajax开发的核心技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$.ajax() 方法是 jQuery 最底层的 Ajax 实现。

它的结构为:$.ajax(options)

该方法只有1个参数,但在这个对象里包含了 $.ajax() 方法所需要的请求设置以及回调函数等信息,参数以 key / value 的形式存在,所有参数都是可选的,常用参数如下表所示。

参数名称类型说明
url String(默认为当前页地址)发送请求的地址
type String请求方式(POST或GET)默认为GET。注意其他HTTP请求方法,例如PUT
和DELETE也可以使用,但仅部分浏览器支持
timeoutNumber设置请求超时时间(毫秒)。此设置将覆盖 $.ajaxSetUp() 方法的全局设置
dataObject

String
发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。 GET
请求中将附加在URL后。防止这种自动转换,可以查看 processData 选项。对
象必须为 key/value 格式,例如{fool :"bar1", foo2 :"bar2"}转换为
&fool=bar1&foo2=bar2。如果是数组,jQuery将自动为不同值对应同一个名称。
例如{foo:["bar1","bar2"]}转换为 &foo=bar1&foo=bar2
dataType String预期服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包MIME
信息返回 responseXML 或 responseText,并作为回调函数参数传递。
可用的类型如下。
xml: 返回 XML 文档,可用 jQuery 处理。
html: 返回纯文本 HTML 信息;包含的 script 标签会在插入 DOM 时执行。
script: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 cache 参数。
注意在远程请求时(不在同一个域下),所有 POST 请求都将转为GET请求。
json: 返回 JSON 数据。
jsonp: JSONP格式。使用 JSONP 形式调用函数时,例如myurl?callback=?,
jQuery将自动替换后一个"?"为正确的函数名,以执行回调函数。
text: 返回纯文本字符串
beforeSend Function发送请求則可以修改 XMLHttpRequest 对象的函数,例如添加自定义HTTP头。
在 beforeSend 中如果返回 false 可以取消本次 Ajax 请求。XMLHttpRequest 对
象是惟一的参数。
function (XMLHttpRequest) {
  this; //调用本次Ajax请求时传递的 options 参数
}
complete Function请求完成后调用的回调函数(请求成功或失败时均调用)。
参数:XMLHttpRequest 对象和一个描述成功请求类型的字符串。
function(XMLHttpRequest, textStatus) {
  this; //调用本次Ajax请求时传递的options参数
}
success Function

请求成功后调用的回调函数,有两个参数。
(1) 由服务器返回,并根据dataType参数进行处理后的数据。
(2) 描述状态的字符串。 ,
function (data, textStatus) {
  //data 可能是 xmlDoc、jsonObj、html、 text 等等
  this; //调用本次Ajax请求时传递的options参数

}

error Function请求失败时被调用的函数。该函数有 3 个参数,即
XMLHttpRequest 对象、错误信息、捕获的错误对象(可选)。
Ajax 事件函数如下。
function (XMLHttpRequest, textStatus, errorThrown) {
  // 通常情况下 textStatus 和 errorThown 只有其中一个包含信息
  this; // 调用本次 Ajax 请求时传递的 options 参数
}
global Boolean默认为 true 。表示是否触发全局 Ajax 事件。设置为 false 将不会触发全局 Ajax
事件, AjaxStart 或 AjaxStop 可用于控制各种 Ajax 事件

 

 

 

 

 

 

 

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

如果需要使用 $.ajax() 方法来进行 Ajax 开发,那么上面这些常用的参数都必须了解。此外,$.ajax()方法还有其他参数。

前面用到的 $.load()、$.get()、$.post()、$.getScript() 和 $.getJSON() 这些方法,都是基于 $.ajax() 方法构建的,$.ajax() 方法是 jQuery 最底层的 Ajax 实现,因此可以用它来代替前面的所有方法。

 

转载于:https://www.cnblogs.com/jwen1994/p/10713784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值