天天看點

ajax智能社,24 - Ajax基礎

Ajax筆記

就是讓JS能夠讀取伺服器,填寫表單發型消息的時候不用再重新整理頁面了(無重新整理頁面資料讀取,應用使用者注冊和聊天室)。

定義和用法:

Ajax()方法是JQ底層AJAX實作。另外的方法可以使用JQ的高層方法,比如$.get,$.post。

文法:JQuery.ajax([settings])  settings為參數

參數:

Options

Context 用于設定Ajax相關回調函數的上下文,讓回調函數this指向這個對象(如果不設定這個參數,那麼this指定的就是本次ajax請求時傳遞的options參數)。假如指定一個dom元素作為context參數,這樣就設定了success回調函數的上下文為這個dom元素

(+dom元素:dom , 文檔對象模型。那麼文檔對象模型的元素是什麼?就是指文檔的組成部分,組成部分包括html,js,css等。這個了解還有待深入)

Async 預設值:true 所有請求均為異步請求

Cache 預設值:true 緩存頁面

Global 預設值:true 是否觸發全局AJAX事件

IfModified 預設值:false 僅在伺服器資料改變時擷取新資料

processData 預設值:true 預設情況下,通過data選項傳遞進來的資料,如果是一個對象(技術上講隻要不是字元串),都會處理轉化成一個查詢字元串,以配合預設内容類型 "application/x-www-form-urlencoded"。

Traditional 想要用傳統的方式來序列化資料,就設定為true

beforeSend(XHR) 事件 傳回false則取消

Complete(XHR,TS) 事件 請求完成後的回調函數(請求成功或失敗之後均調用)

dataFilter 給AJAX傳回的原始資料的進行預處理函數[data,type] data是傳回的原始資料,type是調用時提供的參數

Error  事件 請求失敗調用此函數,自動判斷(xml或html)[XMLHTTPRequest對象、錯誤資訊、(可選)捕獲的異常對象]

Success 請求成功後的回調函數

Xhr 需要傳回一個 XMLHttpRequest 對象。預設在 IE 下是 ActiveXObject 而其他情況下是 XMLHttpRequest 。用于重寫或者提供一個增強的 XMLHttpRequest 對象。

(+XMLHTTPRequest:縮寫XHR,可擴充超文本傳輸請求。XMLHttpRequest對象可以在不向伺服器送出整個頁面的情況下,實作局部更新網頁。當頁面全部加載完畢後,用戶端通過該對象向伺服器請求資料,伺服器端接受資料并處理後,向用戶端回報資料。)

如果發生了錯誤,錯誤資訊(第二個參數)除了得到 null 之外,還可能是 "timeout", "error", "notmodified" 和 "parsererror"。

contentType 預設值"application/x-www-form-urlencoded" 發送消息至伺服器時内容編碼類型

Data 發送到伺服器的資料

dataType  預期伺服器傳回的資料類型

· "xml": 傳回 XML 文檔,可用 jQuery 處理。

· "html": 傳回純文字 HTML 資訊;包含的 script 标簽會在插入 dom 時執行。

· "script": 傳回純文字 JavaScript 代碼。不會自動緩存結果。除非設定了 "cache" 參數。注意:在遠端請求時(不在同一個域下),所有 POST 請求都将轉為 GET 請求。(因為将使用 DOM 的 script标簽來加載)

· "json": 傳回 JSON 資料 。

· "jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 将自動替換 ? 為正确的函數名,以執行回調函數。

· "text": 傳回純文字字元串

Jsonp 為jsonp請求指定一個回調函數名

Password 用于響應http通路認證請求的密碼

scriptCharset 隻有當請求時 dataType 為 "jsonp" 或 "script",并且 type 是 "GET" 才會用于強制修改 charset。通常隻在本地和遠端的内容編碼不同時使用。

Type 預設值:“get”,請求方式 ("POST" 或 "GET")

Url 預設值: 目前頁位址

Username : 用于響應HTTP通路認證請求的使用者名

Timeout 設定請求逾時時間

總結:

回調函數

如果要處理 $.ajax() 得到的資料,則需要使用回調函數:beforeSend、error、dataFilter、success、complete。

beforeSend

在發送請求之前調用,并且傳入一個 XMLHttpRequest 作為參數。

error

在請求出錯時調用。傳入 XMLHttpRequest 對象,描述錯誤類型的字元串以及一個異常對象(如果有的話)

dataFilter

在請求成功之後調用。傳入傳回的資料以及 "dataType" 參數的值。并且必須傳回新的資料(可能是處理過的)傳遞給 success 回調函數。

success

當請求之後調用。傳入傳回後的資料,以及包含成功代碼的字元串。

complete

當請求完成之後調用這個函數,無論成功或失敗。傳入 XMLHttpRequest 對象,以及一個包含成功或錯誤代碼的字元串。

Ajax筆記

就是讓JS能夠讀取伺服器,填寫表單發型消息的時候不用再重新整理頁面了(無重新整理頁面資料讀取,應用使用者注冊和聊天室)。

定義和用法:

Ajax()方法是JQ底層AJAX實作。另外的方法可以使用JQ的高層方法,比如$.get,$.post。

文法:JQuery.ajax([settings])  settings為參數

參數:

Options

Context 用于設定Ajax相關回調函數的上下文,讓回調函數this指向這個對象(如果不設定這個參數,那麼this指定的就是本次ajax請求時傳遞的options參數)。假如指定一個dom元素作為context參數,這樣就設定了success回調函數的上下文為這個dom元素

(+dom元素:dom , 文檔對象模型。那麼文檔對象模型的元素是什麼?就是指文檔的組成部分,組成部分包括html,js,css等。這個了解還有待深入)

Async 預設值:true 所有請求均為異步請求

Cache 預設值:true 緩存頁面

Global 預設值:true 是否觸發全局AJAX事件

IfModified 預設值:false 僅在伺服器資料改變時擷取新資料

processData 預設值:true 預設情況下,通過data選項傳遞進來的資料,如果是一個對象(技術上講隻要不是字元串),都會處理轉化成一個查詢字元串,以配合預設内容類型 "application/x-www-form-urlencoded"。

Traditional 想要用傳統的方式來序列化資料,就設定為true

beforeSend(XHR) 事件 傳回false則取消

Complete(XHR,TS) 事件 請求完成後的回調函數(請求成功或失敗之後均調用)

dataFilter 給AJAX傳回的原始資料的進行預處理函數[data,type] data是傳回的原始資料,type是調用時提供的參數

Error  事件 請求失敗調用此函數,自動判斷(xml或html)[XMLHTTPRequest對象、錯誤資訊、(可選)捕獲的異常對象]

Success 請求成功後的回調函數

Xhr 需要傳回一個 XMLHttpRequest 對象。預設在 IE 下是 ActiveXObject 而其他情況下是 XMLHttpRequest 。用于重寫或者提供一個增強的 XMLHttpRequest 對象。

(+XMLHTTPRequest:縮寫XHR,可擴充超文本傳輸請求。XMLHttpRequest對象可以在不向伺服器送出整個頁面的情況下,實作局部更新網頁。當頁面全部加載完畢後,用戶端通過該對象向伺服器請求資料,伺服器端接受資料并處理後,向用戶端回報資料。)

如果發生了錯誤,錯誤資訊(第二個參數)除了得到 null 之外,還可能是 "timeout", "error", "notmodified" 和 "parsererror"。

contentType 預設值"application/x-www-form-urlencoded" 發送消息至伺服器時内容編碼類型

Data 發送到伺服器的資料

dataType  預期伺服器傳回的資料類型

· "xml": 傳回 XML 文檔,可用 jQuery 處理。

· "html": 傳回純文字 HTML 資訊;包含的 script 标簽會在插入 dom 時執行。

· "script": 傳回純文字 JavaScript 代碼。不會自動緩存結果。除非設定了 "cache" 參數。注意:在遠端請求時(不在同一個域下),所有 POST 請求都将轉為 GET 請求。(因為将使用 DOM 的 script标簽來加載)

· "json": 傳回 JSON 資料 。

· "jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 将自動替換 ? 為正确的函數名,以執行回調函數。

· "text": 傳回純文字字元串

Jsonp 為jsonp請求指定一個回調函數名

Password 用于響應http通路認證請求的密碼

scriptCharset 隻有當請求時 dataType 為 "jsonp" 或 "script",并且 type 是 "GET" 才會用于強制修改 charset。通常隻在本地和遠端的内容編碼不同時使用。

Type 預設值:“get”,請求方式 ("POST" 或 "GET")

Url 預設值: 目前頁位址

Username : 用于響應HTTP通路認證請求的使用者名

Timeout 設定請求逾時時間

總結:

回調函數

如果要處理 $.ajax() 得到的資料,則需要使用回調函數:beforeSend、error、dataFilter、success、complete。

beforeSend

在發送請求之前調用,并且傳入一個 XMLHttpRequest 作為參數。

error

在請求出錯時調用。傳入 XMLHttpRequest 對象,描述錯誤類型的字元串以及一個異常對象(如果有的話)

dataFilter

在請求成功之後調用。傳入傳回的資料以及 "dataType" 參數的值。并且必須傳回新的資料(可能是處理過的)傳遞給 success 回調函數。

success

當請求之後調用。傳入傳回後的資料,以及包含成功代碼的字元串。

complete

當請求完成之後調用這個函數,無論成功或失敗。傳入 XMLHttpRequest 對象,以及一個包含成功或錯誤代碼的字元串。