jquery中ajax的dataType屬性用於指定伺服器返回的資料類型,如果不指定,jQuery 將自動根據HTTP包MIME資訊來智能判斷,如果datatype選項不填寫的話,會將返回的資料當成字串處理。
一、ajax文法
複製代碼 代碼如下:
jQuery.ajax([settings])
參數說明
settings:用於配置 Ajax 請求的索引值對集合。可以通過 $.ajaxSetup() 設定任何選項的預設值。
二、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?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回呼函數,經常被用來同主網域名稱下不同次層網域下的跨域請求。
6、"text": 返回純文字字串。
下面是關於jquery ajax中的datatype相關問題
datatype設定為html的時候返回的只是純文字,沒有什麼好說的,設定成xml的時候返回的是一個xml document對象,
比如返回下面這麼一個xml
< xml version="1.0" encoding="utf-8" ><documentElement><table><provinceID>110000</provinceID><province>北京市</province><provinceID>120000</provinceID><province>天津市</province></table></documentElement>
這就需要用XMLDocument之類來操作,還要考慮瀏覽器
其實jquery本身也可以解析xml,舉個簡單的例子
$.ajax({type: "Get",dataType: "xml",url: "test.xml",success: function(datas){$("province",datas).each(function(i){ alert($($("provinceID",datas)[i]).text() + "_" + $(this).text());});}});
test.xml裡面的內容就是上面的xml,這樣datas就是返回的xml文檔對象,lz可以自己試一試
其實相對來說我更喜歡使用datatype:"json",使用json資料對於javascript來說解析起來就更方便了