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來說解析起來就更方便了