2 回答

TA貢獻1801條經驗 獲得超16個贊
是text文本數據。
$.ajax()函數依賴服務器提供的信息來處理返回的數據。如果服務器報告說返回的數據是XML,那么返回的結果就可以用普通的XML方法或者jQuery的選擇器來遍歷。如果見得到其他類型,比如HTML,則數據就以文本形式來對待。
通過dataType選項還可以指定其他不同數據處理方式。除了單純的XML,還可以指定 html、json、jsonp、script或者text。
其中,text和xml類型返回的數據不會經過處理。數據僅僅簡單的將XMLHttpRequest的responseText或responseHTML屬性傳遞給success回調函數。
注意,我們必須確保網頁服務器報告的MIME類型與我們選擇的dataType所匹配。比如說,XML的話,服務器端就必須聲明text/xml 或者 application/xml 來獲得一致的結果。
如果指定為html類型,任何內嵌的JavaScript都會在HTML作為一個字符串返回之前執行。類似的,指定script類型的話,也會先執行服務器端生成JavaScript,然后再把腳本作為一個文本數據返回。
如果指定為json類型,則會把獲取到的數據作為一個JavaScript對象來解析,并且把構建好的對象作為結果返回。為了實現這個目的,他首先嘗試使用JSON.parse()。
如果瀏覽器不支持,則使用一個函數來構建。JSON數據是一種能很方便通過JavaScript解析的結構化數據。如果獲取的數據文件存放在遠程服務器上(域名不同,也就是跨域獲取數據),則需要使用jsonp類型。

TA貢獻1799條經驗 獲得超8個贊
$.ajax()函數依賴服務器提供的信息來處理返回的數據。如果服務器報告說返回的數據是XML,那么返回的結果就可以用普通的XML方法或者jQuery的選擇器來遍歷。如果見得到其他類型,比如HTML,則數據就以文本形式來對待。
通過dataType選項還可以指定其他不同數據處理方式。除了單純的XML,還可以指定 html、json、jsonp、script或者text。
其中,text和xml類型返回的數據不會經過處理。數據僅僅簡單的將XMLHttpRequest的responseText或responseHTML屬性傳遞給success回調函數,
注意,我們必須確保網頁服務器報告的MIME類型與我們選擇的dataType所匹配。比如說,XML的話,服務器端就必須聲明
text/xml 或者 application/xml 來獲得一致的結果。
如果指定為html類型,任何內嵌的JavaScript都會在HTML作為一個字符串返回之前執行。類似的,指定script類型的話,也會先執行服務器端生成JavaScript,然后再把腳本作為一個文本數據返回。
如果指定為json類型,則會把獲取到的數據作為一個JavaScript對象來解析,并且把構建好的對象作為結果返回。為了實現這個目的,他首先嘗試使用JSON.parse()。如果瀏覽器不支持,則使用一個函數來構建。JSON數據是一種能很方便通過JavaScript解析的結構化數據。如果獲取的數據文件存放在遠程服務器上(域名不同,也就是跨域獲取數據),則需要使用jsonp類型。使用這種類型的話,會創建一個查詢字符串參數
callback=?
,這個參數會加在請求的URL后面。服務器端應當在JSON數據前加上回調函數名,以便完成一個有效的JSONP請求。如果要指定回調函數的參數名來取代默認的callback,可以通過設置$.ajax()的jsonp參數。
注意,JSONP是JSON格式的擴展。他要求一些服務器端的代碼來檢測并處理查詢字符串參數。更多信息可以參閱 最初的文章。
如果指定了script或者jsonp類型,那么當從服務器接收到數據時,實際上是用了<script>標簽而不是XMLHttpRequest對象。這種情況下,$.ajax()不再返回一個XMLHttpRequest對象,并且也不會傳遞事件處理函數,比如beforeSend。
上面是官方的解說,但是在實際應用中,用得最多的就是html和json,如果是html,那么返回的數據直接插入或打印在某個地方就可以了,瀏覽器會照樣解析;
如果是json,會復雜點,首先要先對json數據進行處理一遍,我的理解的話,json跟數組很像,所以傳回來的數據要先處理一遍才能用,建議找一些jquery的get和post的教程來看看。
添加回答
舉報