怎樣理解jquery中ajax的dataType屬性選項值

jquery中ajax的dataType屬性用於指定服務器返回的數據類型,如果不指定,jQuery 將自動根據HTTP包MIME信息來智能判斷,如果datatype選項不填寫的話,會將返回的數據當成字符串處理。

怎樣理解jquery中ajax的dataType屬性選項值

  一、ajax語法

複製代碼 代碼如下:

([settings])

參數說明

settings:用於配置 Ajax 請求的鍵值對集合。可以通過 $Setup() 設置任何選項的默認值。

  二、ajax的datatype選項的值

1、"xml":返回 XML 文檔,可用 jQuery 處理。

2、"html"::返回純文本 HTML 信息;包含的 script 標籤會在插入 dom 時執行。

3、"script"::返回純文本JavaScript 代碼。不會自動緩存結果,除非設置了 "cache" 參數。注意:在遠程請求時(不在同一個域下),所有 POST 請求都將轉爲 GET 請求。(因爲將使用 DOM 的 script標籤來加載)

4、"json": 返回 JSON 數據 。

5、"jsonp": JSONP 格式。使用JSONP 形式調用函數時,如 "myurl" jQuery 將自動替換 ? 爲正確的函數名,以執行回調函數,經常被用來同主域名下不同二級域名下的跨域請求。

6、"text": 返回純文本字符串。

下面是關於jquery ajax中的datatype相關問題

datatype設置爲html的時候返回的只是純文本,沒有什麼好說的',設置成xml的時候返回的是一個xml document對象,

比如返回下面這麼一個xml

< xml version="1.0" encoding="utf-8" >

110000北京市120000天津

這就需要用XMLDocument之類來操作,還要考慮瀏覽器

其實jquery本身也可以解析xml,舉個簡單的例子

$({type: "Get",dataType: "xml",url: "",success: function(datas){$("province",datas)(function(i){ alert($($("provinceID",datas)[i])() + "_" + $(this)());});}});

裏面的內容就是上面的xml,這樣datas就是返回的xml文檔對象,lz可以自己試一試

其實相對來說我更喜歡使用datatype:"json",使用json數據對於javascript來說解析起來就更方便了