时间:2021-07-01 10:21:17 帮助过:3人阅读
jQuery.ajax()函数是jQuery的底层AJAX实现。jQuery.get()、 jQuery.post()、load()、 jQuery.getJSON()、 jQuery.getScript()等函数都是该函数的简化形式(都调用该函数,只是参数设置有所不同或有所省略)。
该函数属于全局jQuery对象(也可理解为静态函数)。
语法
jQuery 1.0 新增该静态函数。jQuery.ajax()函数有以下两种用法:
用法一:
jQuery.ajax( [ settings ] ] )
用法二:jQuery 1.5 新增支持该用法。
jQuery.ajax( url [, settings ] ] )
用法二是用法一的变体,它只是将参数对象settings中的可选属性url单独提取出来作为一个独立的参数。
参数
请根据前面语法部分所定义的参数名称查找对应的参数。
url String类型URL请求字符串。
settings 可选/Object类型一个Object对象,其中的每个属性用来指定发送请求所需的额外参数设置。 参数settings是一个对象。
返回值
jQuery.ajax()函数的返回值为jqXHR类型,返回当前该请求的jqXHR对象(jQuery 1.4及以前版本返回的是原生的XMLHttpRequest对象)。
实例代码说明:
如果没有给jQuery.ajax()指定任何参数,则默认请求当前页面,并且不对返回数据进行处理。
jQuery.ajax()函数的settings对象中,常用的属性有:url、type、async、data、dataType、success、error、complete、beforeSend、timeout等。
请参考下面这段初始HTML代码:
<div id="content"></div>
以下是与jQuery.ajax()函数相关的jQuery示例代码,以演示jQuery.ajax()函数的具体用法:
$.ajax({
url: "jquery_ajax.php"
, type: "POST"
, data: "name=codeplayer&age=18"
, success: function( data, textStatus, jqXHR ){
// data 是返回的数据
// textStatus 可能为"success"、"notmodified"等
// jqXHR 是经过jQuery封装的XMLHttpRequest对象
alert("返回的数据" + data);
}
});$.ajax({
url: "jquery_ajax.php?page=1&id=3"
, type: "POST"
// jQuery会自动将对象数据转换为 "name=codeplayer&age=18&uid=1&uid=2&uid=3"
, data: { name:"codeplayer", age:18, uid: [1, 2, 3] }
// 请求成功时执行
, success: function( data, textStatus, jqXHR ){
alert("返回的数据" + data);
}
// 请求失败时执行
, error: function(jqXHR, textStatus, errorMsg){
// jqXHR 是经过jQuery封装的XMLHttpRequest对象
// textStatus 可能为: null、"timeout"、"error"、"abort"或"parsererror"
// errorMsg 可能为: "Not Found"、"Internal Server Error"等
alert("请求失败:" + errorMsg);
}
});// 将url单独提取出来作为第一个参数(jQuery 1.5+才支持)
$.ajax("jquery_ajax.php?action=type&id=3", {
dataType: "json" // 返回JSON格式的数据
, success: function( data, textStatus, jqXHR ){
// 假设返回的字符串数据为{ "name": "CodePlayer", age: 20 }
// jQuery已帮我们将该JSON字符串转换为对应的JS对象,可以直接使用
alert( data.name ); // CodePlayer
}
});$.ajax( {
// 注意这里有个参数callback=?
url: "http://cross-domain/jquery_ajax.php?name=Jim&callback=?&age=21"
, async: false // 同步请求,发送请求后浏览器将被锁定,只有等到该请求完成(无论成功或失败)后,用户才能操作,js代码才会继续执行
, dataType: "jsonp" // 返回JSON格式的数据
, success: function( data, textStatus, jqXHR ){
// 假设返回的字符串数据为{ "site_name": "CodePlayer", "site_desc": "专注于编程开发技术分享" }
// jQuery已帮我们将该JSON字符串转换为对应的JS对象,可以直接使用
alert( data.site_desc ); // 专注于编程开发技术分享
}
});$.ajax( {
// 加载指定的js文件到当前文档中
url: "http://code.jquery.com/jquery-1.8.3.min.js"
, dataType: "script"
});以上就是jquery中的jQuery.ajax()函数用法实例详解的详细内容,更多请关注Gxl网其它相关文章!