jquery第十八課,經常聽到人說ajax,也經常看到,也就是常用的注冊時用戶名判斷等,是不刷新頁面直接顯示能否注冊效果的一種技術,可以用javascript實現ajax效果(參考ajax),不過實現起來比較麻煩而且容易出錯.jquery實現了ajax,通過jquery簡單代碼實現了多種數據的無頁面刷新效果.簡單實用.下面就對jquery實現ajax中的參數介紹
jquery中的ajax調用方法:jQuery.ajax(options);
jQuery底層AJAX 實現。簡單易用的高層實現見 $.get, $.post 等。$.ajax() 返回其創建的 XMLHttpRequest 對象.
jQuery的ajax調用可以簡寫為$.ajax(options);
參數option的介紹:這里所有的參數都是可選的.
(1)async(類型:Boolean)(默認: true) 默認設置下,所有請求均為異步請求。如果需要發送同步請求,請將此選項設置為 false。注意,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執行。
(2)beforeSend(XMLHttpRequest)(類型:Function)發送請求前可修改 XMLHttpRequest 對象的函數,如添加自定義 HTTP 頭。XMLHttpRequest 對象是唯一的參數。這是一個 Ajax 事件。如果返回false可以取消本次ajax請求。
(3)cache(類型:Boolean)(默認: true,dataType為script和jsonp時默認為false) jQuery 1.2 新功能,設置為 false 將不緩存此頁面。
(4)complete(XMLHttpRequest,textStatus)(類型:Function)請求完成后回調函數 (請求成功或失敗之后均調用)。參數: XMLHttpRequest 對象和一個描述成功請求類型的字符串。
(5)contentType(默認: "application/x-www-form-urlencoded") 發送信息至服務器時內容編碼類型。默認值適合大多數情況。如果你明確地傳遞了一個content-type給 $.ajax() 那么他必定會發送給服務器(即使沒有數據要發送)
(6)context(obj)(類型Object)這個對象用于設置Ajax相關回調函數的上下文。也就是說,讓回調函數內this指向這個對象(如果不設定這個參數,那么this就指向調用本次AJAX請求時傳遞的options參數)。比如指定一個DOM元素作為context參數,這樣就設置了success回調函數的上下文為這個DOM元素
(7)data(類型Object,String)發送到服務器的數據。將自動轉換為請求字符串格式。GET 請求中將附加在 URL 后。查看 processData 選項說明以禁止此自動轉換。必須為 Key/Value 格式。如果為數組,jQuery 將自動為不同值對應同一個名稱。如 {foo:["bar1", "bar2"]} 轉換為 '&foo=bar1&foo=bar2'。
(8)dataFilter(類型:Function(data,type))給Ajax返回的原始數據的進行預處理的函數。提供data和type兩個參數:data是Ajax返回的原始數據,type是調用jQuery.ajax時提供的dataType參數
(9)dataType(類型String)預期服務器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息來智能判斷,比如XML MIME類型就被識別為XML
xml": 返回 XML 文檔,可用 jQuery 處理。
"html": 返回純文本 HTML 信息;包含的script標簽會在插入dom時執行。
"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了"cache"參數。'''注意:'''在遠程請求時(不在同一個域下),所有POST請求都將轉為GET請求。(因為將使用DOM的script標簽來加載)
"json": 返回 JSON 數據 。
"jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回調函數。
"text": 返回純文本字符串
(10)error(類型Function(XMLHttpRequest, textStatus, errorThrown))默認: 自動判斷 (xml 或 html)) 請求失敗時調用此函數。有以下三個參數:XMLHttpRequest 對象、錯誤信息、(可選)捕獲的異常對象。如果發生了錯誤,錯誤信息(第二個參數)除了得到null之外,還可能是"timeout", "error", "notmodified" 和 "parsererror
(11)global(類型:Boolean)(默認: true) 是否觸發全局 AJAX 事件。設置為 false 將不會觸發全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。
(12)ifModified(類型:Boolean)(默認: false) 僅在服務器數據改變時獲取新數據。使用 HTTP 包 Last-Modified 頭信息判斷。在jQuery 1.4中,他也會檢查服務器指定的'etag'來確定數據沒有被修改過
(13)jsonp(類型string)在一個jsonp請求中重寫回調函數的名字。這個值用來替代在"callback=?"這種GET或POST請求中URL參數里的"callback"部分,比如{jsonp:'onJsonPLoad'}會導致將"onJsonPLoad=?"傳給服務器
(14)jsonpCallback(類型String)為jsonp請求指定一個回調函數名。這個值將用來取代jQuery自動生成的隨機函數名。這主要用來讓jQuery生成度獨特的函數名,這樣管理請求更容易,也能方便地提供回調函數和錯誤處理。你也可以在想讓瀏覽器緩存GET請求的時候,指定這個回調函數名<網站http://www.制forasp作.cn>
(15)password(類型strhig)用于響應HTTP訪問認證請求的密碼
(16)processData(Boolean)(默認: true) 默認情況下,通過data選項傳遞進來的數據,如果是一個對象(技術上講只要不是字符串),都會處理轉化成一個查詢字符串,以配合默認內容類型 "application/x-www-form-urlencoded"。如果要發送 DOM 樹信息或其它不希望轉換的信息,請設置為 false。
(17)scriptCharset(類型String)只有當請求時dataType為"jsonp"或"script",并且type是"GET"才會用于強制修改charset。通常只在本地和遠程的內容編碼不同時使用
(18)success(類型Function)請求成功后的回調函數。參數:由服務器返回,并根據dataType參數進行處理后的數據;描述狀態的字符串
(19)traditional(類型Boolean)如果你想要用傳統的方式來序列化數據,那么就設置為true。請參考工具分類下面的jQuery.param 方法
(20)timeout(類型Number)設置請求超時時間(毫秒)。此設置將覆蓋全局設置。
(21)type(類型String)(默認: "GET") 請求方式 ("POST" 或 "GET"), 默認為 "GET"。注意:其它 HTTP 請求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。
(22)url(類型String)默認: 當前頁地址) 發送請求的地址。
(23)username(類型String)用于響應HTTP訪問認證請求的用戶名
(24)xhr(類型funxtion)需要返回一個XMLHttpRequest 對象。默認在IE下是ActiveXObject 而其他情況下是XMLHttpRequest 。用于重寫或者提供一個增強的XMLHttpRequest 對象
ajax中的options設置介紹完畢
更多信息請查看IT技術專欄