本文小編為大家詳細(xì)介紹“jQuery.ajax使用的方法”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“jQuery.ajax使用的方法”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)公司是專業(yè)的龍沙網(wǎng)站建設(shè)公司,龍沙接單;提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行龍沙網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
jQuery.ajax( url [, settings ] )說(shuō)明: 執(zhí)行一個(gè)異步的HTTP(Ajax)的請(qǐng)求。
url
類型: String
一個(gè)用來(lái)包含發(fā)送請(qǐng)求的URL字符串。
settings
類型: PlainObject
一個(gè)以"{鍵:值}"組成的AJAX 請(qǐng)求設(shè)置。所有選項(xiàng)都是可選的。可以使用$.ajaxSetup()設(shè)置任何默認(rèn)參數(shù)??磈Query.ajax( settings )下所有設(shè)置的完整列表。
jQuery.ajax( [settings ] )
settings
類型: PlainObject
一個(gè)以"{鍵:值}"組成的AJAX 請(qǐng)求設(shè)置。所有選項(xiàng)都是可選的??梢允褂?.ajaxSetup()設(shè)置任何默認(rèn)參數(shù)。
accepts (默認(rèn): 取決于數(shù)據(jù)類型)
類型: PlainObject
內(nèi)容類型發(fā)送請(qǐng)求頭(Content-Type),用于通知服務(wù)器該請(qǐng)求需要接收何種類型的返回結(jié)果。如果accepts設(shè)置需要修改,推薦在$.ajaxSetup() 方法中設(shè)置一次。
async (默認(rèn): true)
類型: Boolean
默認(rèn)設(shè)置下,所有請(qǐng)求均為異步請(qǐng)求(也就是說(shuō)這是默認(rèn)設(shè)置為 true )。如果需要發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為 false ??缬蛘?qǐng)求和 dataType: "jsonp" 請(qǐng)求不支持同步操作。注意,同步請(qǐng)求將鎖住瀏覽器,用戶其它操作必須等待請(qǐng)求完成才可以執(zhí)行。從 jQuery 1.8 開(kāi)始, jqXHR ($.Deferred)中使用 async: false 已經(jīng)過(guò)時(shí)。您必須使用的 success/error/complete 的回調(diào)選項(xiàng)代替相應(yīng)的jqXHR對(duì)象的方法,比如jqXHR.done() 或者過(guò)時(shí)的jqXHR.success()
beforeSend
類型: Function( jqXHR jqXHR, PlainObject settings )
請(qǐng)求發(fā)送前的回調(diào)函數(shù),用來(lái)修改請(qǐng)求發(fā)送前jqXHR(在jQuery 1.4.x的中,XMLHttpRequest)對(duì)象,此功能用來(lái)設(shè)置自定義 HTTP 頭信息,等等。該jqXHR和設(shè)置對(duì)象作為參數(shù)傳遞。這是一個(gè)Ajax事件 。在beforeSend函數(shù)中返回false將取消這個(gè)請(qǐng)求。從jQuery 1.5開(kāi)始, beforeSend選項(xiàng)將被訪問(wèn),不管請(qǐng)求的類型。
cache (默認(rèn): true, dataType為"script"和"jsonp"時(shí)默認(rèn)為false)
類型: Boolean
如果設(shè)置為 false ,瀏覽器將不緩存此頁(yè)面。注意: 設(shè)置cache為 false將在 HEAD和GET請(qǐng)求中正常工作。它的工作原理是在GET請(qǐng)求參數(shù)中附加"_={timestamp}"(譯者注:時(shí)間戳)。該參數(shù)不是其他請(qǐng)求所必須的,除了在IE8中,當(dāng)一個(gè)POST請(qǐng)求一個(gè)已經(jīng)用GET請(qǐng)求過(guò)的URL。
complete
類型: Function( jqXHR jqXHR, String textStatus )
請(qǐng)求完成后回調(diào)函數(shù) (請(qǐng)求success 和 error之后均調(diào)用)。這個(gè)回調(diào)函數(shù)得到2個(gè)參數(shù): jqXHR (在 jQuery 1.4.x中是 XMLHTTPRequest) 對(duì)象和一個(gè)描述請(qǐng)求狀態(tài)的字符串("success", "notmodified", "error", "timeout", "abort", 或者 "parsererror") 。從jQuery 1.5開(kāi)始, complete設(shè)置可以接受一個(gè)函數(shù)的數(shù)組。每個(gè)函數(shù)將被依次調(diào)用。這是一個(gè)Ajax事件 。
contents
類型: PlainObject
一個(gè)以"{字符串/正則表達(dá)式}"配對(duì)的對(duì)象,根據(jù)給定的內(nèi)容類型,解析請(qǐng)求的返回結(jié)果。 (1.5新增)
contentType (默認(rèn): 'application/x-www-form-urlencoded; charset=UTF-8')
類型: String
發(fā)送信息至服務(wù)器時(shí)內(nèi)容編碼類型。默認(rèn)值是"application/x-www-form-urlencoded; charset=UTF-8",適合大多數(shù)情況。如果你明確地傳遞了一個(gè)內(nèi)容類型(Content-Type)給 $.ajax(),那么他必定會(huì)發(fā)送給服務(wù)器(即使沒(méi)有數(shù)據(jù)要發(fā)送)。數(shù)據(jù)將總是使用UTF-8字符集傳遞給服務(wù)器;你必須在服務(wù)器端進(jìn)行適當(dāng)?shù)慕獯a。
context
類型: Object
這個(gè)對(duì)象用于設(shè)置Ajax相關(guān)回調(diào)函數(shù)的上下文。 默認(rèn)情況下,這個(gè)上下文是一個(gè)ajax請(qǐng)求使用的參數(shù)設(shè)置對(duì)象,($.ajaxSettings合并獨(dú)傲這個(gè)設(shè)置,傳遞給$.ajax)。比如指定一個(gè)DOM元素作為context參數(shù),這樣就設(shè)置了complete回調(diào)函數(shù)的上下文為這個(gè)DOM元素。就像這樣:
$.ajax({
url: "test.html",
context: document.body
}).done(function() {
$(this).addClass("done");
});
converters (默認(rèn): {"* text": window.String, "text html": true, "text json": jQuery.parseJSON, "text xml": jQuery.parseXML})
類型: PlainObject
一個(gè)數(shù)據(jù)類型到數(shù)據(jù)類型轉(zhuǎn)換器的對(duì)象。每個(gè)轉(zhuǎn)換器的值是一個(gè)函數(shù),返回經(jīng)轉(zhuǎn)換后的請(qǐng)求結(jié)果。 ( 1.5新增)
crossDomain (默認(rèn): 同域請(qǐng)求為false, 跨域請(qǐng)求為true)
類型: Boolean
如果你想在同一域中強(qiáng)制跨域請(qǐng)求(如JSONP形式),例如,想服務(wù)器端重定向到另一個(gè)域,那么需要將crossDomain設(shè)置為 true 。 ( 1.5 新增)
data
類型: Object, String
發(fā)送到服務(wù)器的數(shù)據(jù)。將自動(dòng)轉(zhuǎn)換為請(qǐng)求字符串格式。GET 請(qǐng)求中將附加在 URL 后面。查看 processData 選項(xiàng)說(shuō)明,以禁止此自動(dòng)轉(zhuǎn)換。對(duì)象必須為"{鍵:值}"格式。如果這個(gè)參數(shù)是一個(gè)數(shù)組,jQuery會(huì)按照traditional 參數(shù)的值, 將自動(dòng)轉(zhuǎn)化為一個(gè)同名的多值查詢字符串(查看下面的說(shuō)明)。注:如 {foo:["bar1", "bar2"]} 轉(zhuǎn)換為 '&foo=bar1&foo=bar2'。
dataFilter
類型: Function( Object data, String type ) => Object
一個(gè)函數(shù)被用來(lái)處理XMLHttpRequest的原始響應(yīng)數(shù)據(jù)。這是一個(gè)預(yù)過(guò)濾功能,凈化響應(yīng)。您應(yīng)該返回安全數(shù)據(jù)。提供data和type兩個(gè)參數(shù):data是Ajax返回的原始數(shù)據(jù),type是調(diào)用jQuery.ajax時(shí)提供的dataType參數(shù)。
dataType (默認(rèn): Intelligent Guess (xml, json, script, or html))
類型: String
預(yù)期服務(wù)器返回的數(shù)據(jù)類型。如果不指定,jQuery 將自動(dòng)根據(jù) HTTP 包 MIME 信息來(lái)智能判斷,比如XML MIME類型就被識(shí)別為XML。在1.4中,JSON就會(huì)生成一個(gè)JavaScript對(duì)象,而script則會(huì)執(zhí)行這個(gè)腳本。隨后服務(wù)器端返回的數(shù)據(jù)會(huì)根據(jù)這個(gè)值解析后,傳遞給回調(diào)函數(shù)??捎弥?
"xml": 返回 XML 文檔,可用 jQuery 處理。.
"html": 返回純文本 HTML 信息;包含的script標(biāo)簽會(huì)在插入dom時(shí)執(zhí)行。
"script": 把響應(yīng)的結(jié)果當(dāng)作 JavaScript 執(zhí)行。并將其當(dāng)作純文本返回。默認(rèn)情況下不會(huì)通過(guò)在URL中附加查詢字符串變量 "_=[TIMESTAMP]" 進(jìn)行自動(dòng)緩存結(jié)果,除非設(shè)置了cache參數(shù)為true。Note: 在遠(yuǎn)程請(qǐng)求時(shí)(不在同一個(gè)域下),所有POST請(qǐng)求都將轉(zhuǎn)為GET請(qǐng)求。(因?yàn)閷⑹褂肈OM的script標(biāo)簽來(lái)加載)
"json": 把響應(yīng)的結(jié)果當(dāng)作 JSON 執(zhí)行,并返回一個(gè)JavaScript對(duì)象。在 jQuery 1.4 中,JSON 格式的數(shù)據(jù)以嚴(yán)格的方式解析,如果格式有錯(cuò)誤,jQuery都會(huì)被拒絕并拋出一個(gè)解析錯(cuò)誤的異常。(見(jiàn)json.org的更多信息,正確的JSON格式。)
"jsonp": 以 JSONP 的方式載入 JSON 數(shù)據(jù)塊。會(huì)自動(dòng)在所請(qǐng)求的URL最后添加 "?callback=?"。默認(rèn)情況下不會(huì)通過(guò)在URL中附加查詢字符串變量 "_=[TIMESTAMP]" 進(jìn)行自動(dòng)緩存結(jié)果,除非將 cache參數(shù)設(shè)置為true。
"text": 返回純文本字符串。
多個(gè)空格分割的值:從 jQuery 1.5 開(kāi)始, jQuery可以內(nèi)容類型(Content-Type)頭收到并轉(zhuǎn)換一個(gè)您需要的數(shù)據(jù)類型。例如,如果你想要一個(gè)文本響應(yīng)為XML處理,使用"text xml"數(shù)據(jù)類型。您也可以將一個(gè)JSONP的請(qǐng)求,以文本形式接受,并用jQuery以XML解析: "jsonp text xml"。同樣地可以使用"jsonp xml"簡(jiǎn)寫,首先會(huì)嘗試從 jsonp 到 xml 的轉(zhuǎn)換,如果轉(zhuǎn)換失敗,就先將 jsonp 轉(zhuǎn)換成 text, 然后再由 text 轉(zhuǎn)換成 xml。
error
類型: Function( jqXHR jqXHR, String textStatus, String errorThrown )
請(qǐng)求失敗時(shí)調(diào)用此函數(shù)。有以下三個(gè)參數(shù):jqXHR (在 jQuery 1.4.x前為XMLHttpRequest) 對(duì)象、描述發(fā)生錯(cuò)誤類型的一個(gè)字符串 和 捕獲的異常對(duì)象。如果發(fā)生了錯(cuò)誤,錯(cuò)誤信息(第二個(gè)參數(shù))除了得到null之外,還可能是"timeout", "error", "abort" ,和 "parsererror"。 當(dāng)一個(gè)HTTP錯(cuò)誤發(fā)生時(shí),errorThrown 接收HTTP狀態(tài)的文本部分,比如: "Not Found"(沒(méi)有找到) 或者 "Internal Server Error."(服務(wù)器內(nèi)部錯(cuò)誤)。 從jQuery 1.5開(kāi)始, 在error設(shè)置可以接受函數(shù)組成的數(shù)組。每個(gè)函數(shù)將被依次調(diào)用。 注意:此處理程序在跨域腳本和JSONP形式的請(qǐng)求時(shí)不被調(diào)用。這是一個(gè) Ajax Event。
global (默認(rèn): true)
類型: Boolean
無(wú)論怎么樣這個(gè)請(qǐng)求將觸發(fā)全局AJAX事件處理程序。默認(rèn)是true 。設(shè)置為 false 將不會(huì)觸發(fā)全局 AJAX 事件,如 ajaxStart 或者 ajaxStop。這可以用來(lái)控制各種 Ajax Event.
headers (默認(rèn): {})
類型: PlainObject
一個(gè)額外的"{鍵:值}"對(duì)映射到請(qǐng)求一起發(fā)送。此設(shè)置會(huì)在beforeSend 函數(shù)調(diào)用之前被設(shè)置 ;因此,請(qǐng)求頭中的設(shè)置值,會(huì)被beforeSend 函數(shù)內(nèi)的設(shè)置覆蓋 。 (1.5 新增 )
ifModified (默認(rèn): false)
類型: Boolean
只有上次請(qǐng)求響應(yīng)改變時(shí),才允許請(qǐng)求成功。使用 HTTP 包 Last-Modified 頭信息判斷。默認(rèn)值是false,忽略HTTP頭信息。在jQuery 1.4中,他也會(huì)檢查服務(wù)器指定的'etag'來(lái)確定數(shù)據(jù)沒(méi)有被修改過(guò)。
isLocal (默認(rèn): 取決于當(dāng)前的位置協(xié)議)
類型: Boolean
允許當(dāng)前環(huán)境被認(rèn)定為“本地”,(如文件系統(tǒng)),即使jQuery默認(rèn)情況下不會(huì)這么做。以下協(xié)議目前公認(rèn)為本地:file, *-extension, and widget。如果isLocal設(shè)置需要修改,建議在$.ajaxSetup()方法中這樣做一次。 (1.5 新增 )
jsonp
類型: String
在一個(gè)jsonp請(qǐng)求中重寫回調(diào)函數(shù)的名字。這個(gè)值用來(lái)替代在"callback=?"這種GET或POST請(qǐng)求中URL參數(shù)里的"callback"部分,比如{jsonp:'onJsonPLoad'}會(huì)導(dǎo)致將"onJsonPLoad=?"傳給服務(wù)器。在jQuery 1.5,,設(shè)置jsonp選項(xiàng)為false,阻止了jQuery從加入"?callback"字符串的URL或試圖使用"=?"轉(zhuǎn)換。在這種情況下,你也應(yīng)該明確設(shè)置jsonpCallback設(shè)置。例如, { jsonp: false, jsonpCallback: "callbackName" }
jsonpCallback
類型: String, Function
為jsonp請(qǐng)求指定一個(gè)回調(diào)函數(shù)名。這個(gè)值將用來(lái)取代jQuery自動(dòng)生成的隨機(jī)函數(shù)名。這主要用來(lái)讓jQuery生成一個(gè)獨(dú)特的函數(shù)名,這樣管理請(qǐng)求更容易,也能方便地提供回調(diào)函數(shù)和錯(cuò)誤處理。你也可以在想讓瀏覽器緩存GET請(qǐng)求的時(shí)候,指定這個(gè)回調(diào)函數(shù)名。從jQuery 1.5開(kāi)始,你也可以使用一個(gè)函數(shù)作為該參數(shù)設(shè)置,在這種情況下,該函數(shù)的返回值就是jsonpCallback的結(jié)果。
mimeType
類型: String
一個(gè)mime類型用來(lái)覆蓋XHR的 MIME類型。 (1.5 新增 )
password
類型: String
用于響應(yīng)HTTP訪問(wèn)認(rèn)證請(qǐng)求的密碼
processData (默認(rèn): true)
類型: Boolean
默認(rèn)情況下,通過(guò)data選項(xiàng)傳遞進(jìn)來(lái)的數(shù)據(jù),如果是一個(gè)對(duì)象(技術(shù)上講只要不是字符串),都會(huì)處理轉(zhuǎn)化成一個(gè)查詢字符串,以配合默認(rèn)內(nèi)容類型 "application/x-www-form-urlencoded"。如果要發(fā)送 DOM 樹(shù)信息或其它不希望轉(zhuǎn)換的信息,請(qǐng)?jiān)O(shè)置為 false。
scriptCharset
類型: String
僅適用于當(dāng)"script"傳輸使用時(shí)(例如,跨域的"jsonp"或 dataType選項(xiàng)為"script" 和 "GET"類型)。請(qǐng)求中使用在script標(biāo)簽上設(shè)置charset 屬性。通常只在本地和遠(yuǎn)程的內(nèi)容編碼不同時(shí)使用。
statusCode (默認(rèn): {})
類型: PlainObject
一組數(shù)值的HTTP代碼和函數(shù)對(duì)象,當(dāng)響應(yīng)時(shí)調(diào)用了相應(yīng)的代碼。例如,如果響應(yīng)狀態(tài)是404,將觸發(fā)以下警報(bào):
$.ajax({
statusCode: {
404: function() {
alert("page not found");
}
}
});
如果請(qǐng)求成功,狀態(tài)代碼對(duì)應(yīng)的函數(shù)作為回調(diào)的成功相同的參數(shù);如果在一個(gè)錯(cuò)誤的結(jié)果,他們采取了相同的參數(shù)error回調(diào)。
(1.5 新增 )
success
類型: Function( Object data, String textStatus, jqXHR jqXHR )
請(qǐng)求成功后的回調(diào)函數(shù)。這個(gè)函數(shù)傳遞3個(gè)參數(shù):從服務(wù)器返回的數(shù)據(jù),并根據(jù)dataType參數(shù)進(jìn)行處理后的數(shù)據(jù),一個(gè)描述狀態(tài)的字符串;還有 jqXHR(在jQuery 1.4.x前為XMLHttpRequest) 對(duì)象 。在jQuery 1.5, 成功設(shè)置可以接受一個(gè)函數(shù)數(shù)組。每個(gè)函數(shù)將被依次調(diào)用。這是一個(gè) Ajax Event
timeout
類型: Number
設(shè)置請(qǐng)求超時(shí)時(shí)間(毫秒)。此設(shè)置將覆蓋$.ajaxSetup() 里的全局設(shè)置。 超時(shí)周期開(kāi)始于$.ajax 訪問(wèn)成功的那個(gè)時(shí)間點(diǎn);如果幾個(gè)其他請(qǐng)求都在進(jìn)步并且瀏覽器有沒(méi)有可用的連接,它有可能在被發(fā)送前就超時(shí)了。在 jQuery 1.4.x 和前面的版本中, 如果請(qǐng)求超時(shí),XMLHttpRequest對(duì)象是處于無(wú)效狀態(tài);訪問(wèn)任何對(duì)象的成員可能會(huì)拋出一個(gè)異常。只有在 Firefox 3.0+,script 和 JSONP請(qǐng)求在超時(shí)后不能被取消;該腳本將運(yùn)行即使超時(shí)后到達(dá)。
traditional
類型: Boolean
如果你想要用傳統(tǒng)的方式來(lái)序列化數(shù)據(jù),那么就設(shè)置為true。請(qǐng)參考工具分類下面的jQuery.param 方法.
type (默認(rèn): 'GET')
類型: String
請(qǐng)求方式 ("POST" 或 "GET"), 默認(rèn)為 "GET"。注意:其它 HTTP 請(qǐng)求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。
url (默認(rèn): 當(dāng)前頁(yè)面地址)
類型: String
發(fā)送請(qǐng)求的地址。
username
類型: String
于響應(yīng)HTTP訪問(wèn)認(rèn)證請(qǐng)求的用戶名
xhr (默認(rèn): 當(dāng)可用的ActiveXObject(IE)中,否則為XMLHttpRequest)
類型: Function()
回調(diào)創(chuàng)建XMLHttpRequest對(duì)象。當(dāng)可用時(shí)默認(rèn)為ActiveXObject(IE)中,否則為XMLHttpRequest。提供覆蓋你自己的執(zhí)行的XMLHttpRequest或增強(qiáng)工廠。
xhrFields
類型: PlainObject
一對(duì)“文件名-文件值”組成的映射,用于設(shè)定原生的 XHR對(duì)象。例如,如果需要的話,在進(jìn)行跨域請(qǐng)求時(shí),你可以用它來(lái)設(shè)置withCredentials為true。
$.ajax({
url: a_cross_domain_url,
xhrFields: {
withCredentials: true
}
});
在 jQuery 1.5中, withCredentials屬性不會(huì)傳遞給原生的XHR從而對(duì)于需要使用此屬性的 CORS 請(qǐng)求,則只能忽略這個(gè)屬性。。出于這個(gè)原因,我們建議您使用jQuery1.5.1+,如果您需要使用它。
讀到這里,這篇“jQuery.ajax使用的方法”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:jQuery.ajax使用的方法
網(wǎng)頁(yè)地址:http://aaarwkj.com/article42/pccphc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、ChatGPT、靜態(tài)網(wǎng)站、網(wǎng)站營(yíng)銷、定制網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)