jQuery中的Ajax----03

$.ajax(0方式是jQuery最底層的Ajax實現。javascript

它的結構爲:
html

$.ajax(options)java

該方法只有1個參數,但在這個對象裏包含了$.ajax()方法所須要的請求設置以及回調函數等信息。參數以key/value的形式存在,全部參數都是可選的。經常使用的參數以下表所示:
jquery

參數名稱 類型 說明

urlajax

String 發送請求的地址
type
String 請求方式(POST或GET),默認是GET
timeout Number

設置請求超時時間(毫秒)。此設置將覆json

蓋$.ajaxSetup()方法的全局設置數組

data

Object緩存

或String服務器

發送到服務器的數據。若是已經不是字符串,將自動轉換爲函數

字符串格式。GET請求中將附加在URL後。防止這種自動轉換

,能夠查看processData選項。對象必須是key/value格式,

例如{foo1:"bar1",foo2:"bar2"}轉換爲&foo1=bar&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

請求成功後調用的回調函數,有兩個參數:

一、由服務器返回,並根據dataType參數進行處理後的數據

二、描述狀態的字符串。

function(data,textStatus){

//data多是xmlDoc、jsonObj、html、text等等

this;//調用本次ajax請求時傳遞的options參數

}

error Function

請求失敗時被調用的函數。該函數有3個參數,即:

XMLHttpRequest對象、錯誤信息、捕獲的錯誤對象(可選)。

ajax事件函數以下:

function(XMLHttpRequest,textStatus,errorThrown){

//一般狀況下textStatus和errorThrown只有其中一個包含信息

this;//調用本次ajax請求時傳遞的options參數

}

global             Boolean        默認爲true。表示是否觸發全局ajax事件。設置爲false將不會觸發全局Ajax事件。AjaxStart或AjaxStop能夠用於控制各類Ajax事件。


前面用到的load()、$.get()、$.post()、$.getScript()和$.getJSON這些方法,都是基於$.ajax()方法構建的。

例如,能夠使用下面的jquery代碼代替$.getScript()方法:

$(function(){

   $('#send').click(function(){

    $.ajax({

    type:'GET',

    url:'test.js',

    dataType:'script'

});

});

})

相關文章
相關標籤/搜索