jQuery.ajax 詳細說明與執行個體代碼

來源:互聯網
上載者:User

返回 :xmlhttprequest
執行一個非同步http(ajax)的請求
jquery.ajax( settings )
settingsa設定的鍵/值對配置的ajax請求。所有選項都是可選的。可以設定一個預設為任何美元的選擇。ajaxsetup()。
async
預設: true

預設情況下,所有的請求被發送非同步(即這是預設設定為true)。如果你需要同步的要求,設定為false選項。跨域請求和datatype:"jsonp形式"的要求不支援同步操作。請注意,同步請求可能會暫時鎖定瀏覽器,禁用任何行動,同時請求被啟用。

beforesend(xmlhttprequest)
會前回調修改xmlhttprequest對象發送之前。使用此設定等xmlhttprequest是作為唯一的參數傳遞自訂標題。這是一個ajax事件。你可以在函數返回false則取消該請求

cache boolean
預設:true,為資料類型'指令碼'和'jsonp形式假
如果設定為false,這將迫使您請求的頁面不被瀏覽器緩衝

complete(xmlhttprequest, textstatus)
函數的調用請求結束時(在成功和錯誤回調執行)。這個函數會得到兩個參數:xmlhttprequest對象和一個字串分類請求的狀態("成功","notmodified","錯誤","逾時"或"parsererror")。這是一個ajax事件。

contenttype string
default: 'application/x-www-form-urlencoded'

當發送資料到伺服器,使用此內容類型。預設是"應用程式/ x - www的外形進行了urlencoded",這是對大多數病例。如果你傳遞一個明確的內容類型為。$.ajax() ,那麼它就會永遠被發送到伺服器(即使沒有資料發送)。資料總是被發送到伺服器使用utf - 8字元集,你必須適當地解碼伺服器端的。

context
這個對象將在所有ajax相關的回調中。例如指定為dom元素的背景下,該會為一個像這樣的要求,完成回調背景:
$.ajax({ url: "test.html", context: document.body, success: function(){
        $(this).addclass("done");
      }});

data
資料發送到伺服器。它會轉換為一個查詢字串,如果還不是一個字串。這是附加到get的請求的url。見processdata選項,以防止這種自動處理。對象必須是鍵/值對。如果值是數組,jquery的序列化與傳統的設定(如下所述)價值為基礎同一個鍵多個值。

datafilter(data, type)
一個函數被用來處理資料的xmlhttprequest.this原始的回複是一個預先過濾功能,淨化response.you應該返回消毒data.the函數會得到兩個參數:從伺服器返回的未經處理資料,而'資料類型'參數。


datatype string
default: intelligent guess (xml, json, script, or html)

你期待的從伺服器類型。如果沒有指定,jquery將智能嘗試以獲得結果的基礎上,響應(一個xml mime類型將產生1.4的json將產生一個網頁特效對象的xml,在1.4指令碼,該指令碼將執行,以及任何mime類型否則將返回一個字串)。可用的類型(以及作為第一個參數傳遞到您的成功回調的結果):

"xml":返回一個xml檔案,可以通過jquery的處理。
"html":返回html作為純文字,包括指令碼標記進行評估時,在dom中插入。
"指令碼":計算的響應作為javascript語句,並返回純文字。除非禁用選項"緩衝"緩衝使用。註:這將轉化為遠端網域的請求的gets職位。
"json":將響應作為json求值,並返回一個javascript對象。在jquery 1.4的json資料是在嚴格地分析,任何畸形的json是拒絕,解析錯誤異常。 (更多有關正確的json格式資訊json.org。)
"jsonp形式":在一個json塊荷載作用下jsonp形式。將增加一個額外的"?回調=?"到您的網址的結尾指定回調。
"文":一個純文字字串。

錯誤(xmlhttprequest的,可選)載入功能
一個函數的調用,如果請求失敗。該函數傳遞三個參數:xmlhttprequest對象,字串描述了發生錯誤的類型和可選的異常對象,如果發生。第二個參數(除了空)可能的值是"逾時","錯誤","notmodified"和"parsererror"。這是一個ajax事件。

globalboolean
預設:true
是否這個請求觸發全域ajax事件處理常式。預設為true。設定為false,以防止被觸發像ajaxstart或ajaxstop全球處理常式。這可以用來控制各種ajax事件。

ifmodifiedboolean
預設:false
允許請求是成功的只有響應自上次請求改變。這是通過檢查last - modified頭。預設值是false,忽略了頭。在jquery 1.4這個技巧也可以檢查'etag的,由伺服器趕上未修改的資料指定。

jsonps教程tring
覆蓋在一個jsonp回呼函數的名稱要求。這個值將被用來代替'回調'在'回調=?'部分在url查詢字串。所以(jsonp形式:'onjsonpload')會導致'onjsonpload =?'傳遞給伺服器。

jsonpcallbackstring
指定一個jsonp回呼函數名的要求。這個值將被用來代替jquery的自動產生的隨機名稱。最好是讓jquery產生一個唯一的名稱,因為它會讓它更易於管理的要求,並提供回調和錯誤處理。你可能要指定回調當你想,以便更好地get請求的瀏覽器緩衝。

passwordstring
密碼將用於響應http訪問認證請求。

processdataboolean
預設:true
預設情況下,資料傳遞給作為對象(從技術上講,比其他任何一個字串)資料選項將被處理和轉換成一個查詢字串,以適應預設的內容類型"應用程式/ x - www的形式,進行了urlencoded" 。如果你想發送一個domdocument,或其他非處理的資料,設定為false選項。

scriptcharsetstring
只有用"jsonp形式"或"指令碼"資料類型,並要求"get"的類型。強制要求被解釋為某種字元集。只需要之間的遠程和本地內容的字元集的差異。

成功(資料,textstatus中,xmlhttprequest)函數
一個函數的調用,如果請求成功。這個函數會得到三個參數:從伺服器返回的資料,格式按照'資料類型'參數,一個字串來描述狀態;和xmlhttprequest對象(在jquery 1.4可用)。這是一個ajax事件。

timeoutnumber
設定本地的請求逾時(以毫秒為單位)。這將覆蓋全球逾時,如果一個人通過$設定。ajaxsetup。例如,你可以使用這個屬性來提供一個單一的請求比所有你所設定時間在一秒鐘內的其他要求更長的逾時。見$。ajaxsetup全球逾時()。

traditionalboolean
設定為true,如果你想使用的參數序列化的傳統風格。

typestring
預設:'得到'
的請求的類型("post"的或"get"),預設是"get"。註:其它http要求方法,如put和delete,也可以在這裡使用,但它們並不被所有的瀏覽器支援。

urlstring
預設:當前頁
一個字串,其中包含的url,該請求被發送。

usernamestring
一個使用者名稱用於響應http訪問認證請求。

xhrfunction
回調建立xmlhttprequest對象。到時可用的activexobject(ie)的違約,xmlhttprequest的除外。重寫,以提供您的xmlhttprequest或到工廠增強自己的實現。

這項耗資。$.ajax()函數的基礎所有的jquery的ajax請求發送。它往往是不必要的,直接調用這個函數,數更進階別的類似$的替代品。get()和。負荷()可供選擇,更容易使用。如果不常見的選項是必需的,雖然,$。$.ajax()可以使用更靈活。

簡單來說,美元的$.ajax()函數可以不帶參數調用。:

$$.ajax();。注意:預設設定可以設定全域使用$ ajaxsetup()函數。。

這個例子中,不使用選項,載入當前頁面的內容,但其結果沒有。若要使用結果,我們可以實現的回調功能之一。

回呼函數
該beforesend,錯誤,datafilter,成功和完成所有的選項是採取在適當的時候調用的回呼函數。所有這些對於這個對象將在內容屬性對象傳遞至阿賈克斯在設定;。如果這是沒有指定這將是一個給ajax設定本身的參考。 ajax的請求,如jsonp形式和跨域的get請求,不使用某些類型的xhr,在這些案例中的xmlhttprequest參數傳遞給回調將是不確定的。

beforesend稱為發送請求之前,是通過xmlhttprequest對象作為一個參數。
所謂錯誤如果請求失敗。它是通過xmlhttprequest的一個字串表示的錯誤類型,如果適用的異常對象。
datafilter被稱為成功。它通過返回的資料和資料類型的值,必須返回(可能改變)的資料傳遞成功。
如果成功,被稱為請求成功。它是通過返回的資料,一個包含成功的代碼和xmlhttprequest對象。
完成時調用請求完成無論是在失敗或成功。它是通過xmlhttprequest對象,以及一個包含成功或錯誤碼。
為了讓返回的html使用,我們可以實現一個成功的處理常式

$.ajax({
  url: 'ajax/test.html',
  success: function(data) {
    $('.result').html(data);
    alert('load was performed.');
  }
});

>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.