Ajax请求.docx
- 文档编号:29370558
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:26
- 大小:26.47KB
Ajax请求.docx
《Ajax请求.docx》由会员分享,可在线阅读,更多相关《Ajax请求.docx(26页珍藏版)》请在冰豆网上搜索。
Ajax请求
Ajax请求
jQuery.ajax([options])
概述
通过HTTP请求加载远程数据。
jQuery底层AJAX实现。
简单易用的高层实现见$.get,$.post等。
$.ajax()返回其创建的XMLHttpRequest对象。
大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。
$.ajax()只有一个参数:
参数key/value对象,包含各配置及回调函数信息。
详细参数选项见下。
注意:
如果你指定了dataType选项,请确保服务器返回正确的MIME信息,(如xml返回"text/xml")。
错误的MIME类型可能导致不可预知的错误。
见SpecifyingtheDataTypeforAJAXRequests。
注意:
如果dataType设置为"script",那么在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。
(因为将使用DOM的script标签来加载)
jQuery1.2中,您可以跨域加载JSON数据,使用时需将数据类型设置为JSONP。
使用JSONP形式调用函数时,如"myurl?
callback=?
"jQuery将自动替换?
为正确的函数名,以执行回调函数。
数据类型设置为"jsonp"时,jQuery将自动调用回调函数。
参数
options(可选)Object
AJAX请求设置。
所有选项都是可选的。
选项
asyncBoolean
(默认:
true)默认设置下,所有请求均为异步请求。
如果需要发送同步请求,请将此选项设置为false。
注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
beforeSendFunction
发送请求前可修改XMLHttpRequest对象的函数,如添加自定义HTTP头。
XMLHttpRequest对象是唯一的参数。
这是一个Ajax事件。
如果返回false可以取消本次ajax请求。
function(XMLHttpRequest){
this;//调用本次AJAX请求时传递的options参数
}
cacheBoolean
(默认:
true,dataType为script时默认为false)jQuery1.2新功能,设置为false将不会从浏览器缓存中加载请求信息。
completeFunction
请求完成后回调函数(请求成功或失败时均调用)。
参数:
XMLHttpRequest对象和一个描述成功请求类型的字符串。
Ajax事件。
function(XMLHttpRequest,textStatus){
this;//调用本次AJAX请求时传递的options参数
}
contentTypeString
(默认:
"application/x-www-form-urlencoded")发送信息至服务器时内容编码类型。
默认值适合大多数应用场合。
dataObject,String
发送到服务器的数据。
将自动转换为请求字符串格式。
GET请求中将附加在URL后。
查看processData选项说明以禁止此自动转换。
必须为Key/Value格式。
如果为数组,jQuery将自动为不同值对应同一个名称。
如{foo:
["bar1","bar2"]}转换为'&foo=bar1&foo=bar2'。
dataFilterFunction
给Ajax返回的原始数据的进行预处理的函数。
提供data和type两个参数:
data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。
函数返回的值将由jQuery进一步处理。
function(data,type){
//对Ajax返回的原始数据进行预处理
returndata//返回处理后的数据
}
dataTypeString
预期服务器返回的数据类型。
如果不指定,jQuery将自动根据HTTP包MIME信息返回responseXML或responseText,并作为回调函数参数传递,可用值:
"xml":
返回XML文档,可用jQuery处理。
"html":
返回纯文本HTML信息;包含的script标签会在插入dom时执行。
"script":
返回纯文本JavaScript代码。
不会自动缓存结果。
除非设置了"cache"参数。
'''注意:
'''在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。
(因为将使用DOM的script标签来加载)
"json":
返回JSON数据。
"jsonp":
JSONP格式。
使用JSONP形式调用函数时,如"myurl?
callback=?
"jQuery将自动替换?
为正确的函数名,以执行回调函数。
"text":
返回纯文本字符串
errorFunction
(默认:
自动判断(xml或html))请求失败时调用时间。
参数有以下三个:
XMLHttpRequest对象、错误信息、(可选)捕获的错误对象。
如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout","error","notmodified"和"parsererror"。
Ajax事件。
function(XMLHttpRequest,textStatus,errorThrown){
//通常textStatus和errorThrown之中
//只有一个会包含信息
this;//调用本次AJAX请求时传递的options参数
}
globalBoolean
(默认:
true)是否触发全局AJAX事件。
设置为false将不会触发全局AJAX事件,如ajaxStart或ajaxStop可用于控制不同的Ajax事件。
ifModifiedBoolean
(默认:
false)仅在服务器数据改变时获取新数据。
使用HTTP包Last-Modified头信息判断。
jsonpString
在一个jsonp请求中重写回调函数的名字。
这个值用来替代在"callback=?
"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:
'onJsonPLoad'}会导致将"onJsonPLoad=?
"传给服务器。
passwordString
用于响应HTTP访问认证请求的密码
processDataBoolean
(默认:
true)默认情况下,发送的数据将被转换为对象(技术上讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。
如果要发送DOM树信息或其它不希望转换的信息,请设置为false。
scriptCharsetString
只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。
通常在本地和远程的内容编码不同时使用。
successFunction
请求成功后的回调函数。
参数:
由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串。
Ajax事件。
function(data,textStatus){
//data可能是xmlDoc,jsonObj,html,text,等等...
this;//调用本次AJAX请求时传递的options参数
}
timeoutNumber
设置请求超时时间(毫秒)。
此设置将覆盖全局设置。
typeString
(默认:
"GET")请求方式("POST"或"GET"),默认为"GET"。
注意:
其它HTTP请求方法,如PUT和DELETE也可以使用,但仅部分浏览器支持。
urlString
(默认:
当前页地址)发送请求的地址。
usernameString
用于响应HTTP访问认证请求的用户名
xhrFunction
需要返回一个XMLHttpRequest对象。
默认在IE下是ActiveXObject而其他情况下是XMLHttpRequest。
用于重写或者提供一个增强的XMLHttpRequest对象。
这个参数在jQuery1.3以前不可用。
示例
oad(url,[data],[callback])
概述
载入远程HTML文件代码并插入至DOM中。
默认使用GET方式-传递附加参数时自动转换为POST方式。
jQuery1.2中,可以指定选择符,来筛选载入的HTML文档,DOM中将仅插入筛选出的HTML代码。
语法形如"url#some>selector"。
请查看示例。
参数
urlString
待装入HTML网页网址。
data(可选)Map,String
发送至服务器的key/value数据。
在jQuery1.3中也可以接受一个字符串了。
callback(可选)Callback
载入成功时回调函数。
示例
描述:
加载文章侧边栏导航部分至一个无序列表。
HTML代码:
jQueryLinks:
jQuery代码:
$("#links").load("/Main_Page#p-Getting-Startedli");
描述:
加载feeds.html文件内容。
jQuery代码:
$("#feeds").load("feeds.html");
描述:
同上,但是以POST形式发送附加参数并在成功时显示信息。
jQuery代码:
$("#feeds").load("feeds.php",{limit:
25},function(){
alert("Thelast25entriesinthefeedhavebeenloaded");
});
jQuery.get(url,[data],[callback],[type])
概述
通过远程HTTPGET请求载入信息。
这是一个简单的GET请求功能以取代复杂$.ajax。
请求成功时可调用回调函数。
如果需要在出错时执行函数,请使用$.ajax。
参数
urlString
待载入页面的URL地址
data(可选)Map
待发送Key/value参数。
callback(可选)Function
载入成功时回调函数。
type(可选)String
返回内容格式,xml,html,script,json,text,_default。
示例
描述:
请求test.php网页,忽略返回值。
jQuery代码:
$.get("test.php");
描述:
请求test.php网页,传送2个参数,忽略返回值。
jQuery代码:
$.get("test.php",{name:
"John",time:
"2pm"});
描述:
显示test.php返回值(HTML或XML,取决于返回值)。
jQuery代码:
$.get("test.php",function(data){
alert("DataLoaded:
"+data);
});
描述:
显示test.cgi返回值(HTML或XML,取决于返回值),添加一组请求参数。
jQuery代码:
$.get("test.cgi",{name:
"John",time:
"2pm"},
function(data){
alert("DataLoaded:
"+data);
});
jQuery.getJSON(url,[data],[callback])
概述
通过HTTPGET请求载入JSON数据。
在jQuery1.2中,您可以通过使用JSONP形式的回调函数来加载其他网域的JSON数据,如"myurl?
callback=?
"。
jQuery将自动替换?
为正确的函数名,以执行回调函数。
注意:
此行以后的代码将在这个回调函数执行前执行。
参数
urlString
发送请求地址。
data(可选)Map
待发送Key/value参数。
callback(可选)Function
载入成功时回调函数。
示例
描述:
从FlickrJSONPAPI载入4张最新的关于猫的图片。
HTML代码:
jQuery代码:
$.getJSON("function(data){
$.each(data.items,function(i,item){
$("").attr("src",item.media.m).appendTo("#images");
if(i==3)returnfalse;
});
});
描述:
从test.js载入JSON数据并显示JSON数据中一个name字段数据。
jQuery代码:
$.getJSON("test.js",function(json){
alert("JSONData:
"+json.users[3].name);
});
描述:
从test.js载入JSON数据,附加参数,显示JSON数据中一个name字段数据。
jQuery代码:
$.getJSON("test.js",{name:
"John",time:
"2pm"},function(json){
alert("JSONData:
"+json.users[3].name);
});
jQuery.getScript(url,[callback])
概述
通过HTTPGET请求载入并执行一个JavaScript文件。
jQuery1.2版本之前,getScript只能调用同域JS文件。
1.2中,您可以跨域调用JavaScript文件。
注意:
Safari2或更早的版本不能在全局作用域中同步执行脚本。
如果通过getScript加入脚本,请加入延时函数。
参数
urlString
待载入JS文件地址。
callback(可选)Function
成功载入后回调函数。
示例
描述:
载入
HTML代码:
jQuery代码:
jQuery.getScript("function(){
$("#go").click(function(){
$(".block").animate({backgroundColor:
'pink'},1000)
.animate({backgroundColor:
'blue'},1000);
});
});
描述:
加载并执行test.js。
jQuery代码:
$.getScript("test.js");
描述:
加载并执行test.js,成功后显示信息。
jQuery代码:
$.getScript("test.js",function(){
alert("Scriptloadedandexecuted.");
});
jQuery.post(url,[data],[callback],[type])
概述
通过远程HTTPPOST请求载入信息。
这是一个简单的POST请求功能以取代复杂$.ajax。
请求成功时可调用回调函数。
如果需要在出错时执行函数,请使用$.ajax。
参数
urlString
发送请求地址。
data(可选)Map
待发送Key/value参数。
callback(可选)Function
发送成功时回调函数。
type(可选)String
返回内容格式,xml,html,script,json,text,_default。
Ajax事件
ajaxComplete(callback)
概述
AJAX请求完成时执行函数。
Ajax事件。
XMLHttpRequest对象和设置作为参数传递给回调函数。
参数
callbackFunction
待执行函数
示例
描述:
AJAX请求完成时执行函数。
jQuery代码:
$("#msg").ajaxComplete(function(event,request,settings){
$(this).append("
});
ajaxError(callback)
概述
AJAX请求发生错误时执行函数。
Ajax事件。
XMLHttpRequest对象和设置作为参数传递给回调函数。
捕捉到的错误可作为最后一个参数传递。
参数
callbackFunction
待执行函数
function(event,XMLHttpRequest,ajaxOptions,thrownError){
//thrownError只有当异常发生时才会被传递
this;//监听的dom元素
}
示例
描述:
AJAX请求失败时显示信息。
jQuery代码:
$("#msg").ajaxError(function(event,request,settings){
$(this).append("
"+settings.url+"
});
返回值:
jQueryajaxSend(callback)
概述
AJAX请求发送前执行函数。
Ajax事件。
XMLHttpRequest对象和设置作为参数传递给回调函数。
参数
callbackFunction
待执行函数
示例
描述:
AJAX请求发送前显示信息。
jQuery代码:
$("#msg").ajaxSend(function(evt,request,settings){
$(this).append("
"+settings.url+"
});
ajaxStart(callback)
概述
AJAX请求开始时执行函数。
Ajax事件。
参数
callbackFunction
待执行函数
示例
描述:
AJAX请求开始时显示信息。
jQuery代码:
$("#loading").ajaxStart(function(){
$(this).show();
});
ajaxStop(callback)
概述
AJAX请求结束时执行函数。
Ajax事件。
参数
callbackFunction
待执行函数
示例
描述:
AJAX请求结束后隐藏信息。
jQuery代码:
$("#loading").ajaxStop(function(){
$(this).hide();
});
ajaxSuccess(callback)
概述
AJAX请求成功时执行函数。
Ajax事件。
XMLHttpRequest对象和设置作为参数传递给回调函数。
参数
callbackFunction
待执行函数
示例
描述:
当AJAX请求成功后显示消息。
jQuery代码:
$("#msg").ajaxSuccess(function(evt,request,settings){
$(this).append("
});
serialize()
概述
序列表表格内容为字符串。
示例
描述:
序列表表格内容为字符串,用于Ajax请求。
HTML代码:
jQuery代码:
$("#results").append(""+$("form").serialize()+"");
对象和数组操作
返回值:
ObjectjQuery.each(object,[callback])
概述
通用例遍方法,可用于例遍对象和数组。
不同于例遍jQuery对象的$().each()方法,此方法可用于例遍任何对象。
回调函数拥有两个参数:
第一个为对象的成员或数组的索引,第二个为对应变量或内容。
如果需要退出each循环可使回调函数返回false,其它返回值将被忽略。
参数
objectObject
需要例遍的对象或数组。
callback(可选)Function
每个成员/元素执行的回调函数。
示例
描述:
例遍数组,同时使用元素索
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ajax 请求