本篇內(nèi)容介紹了“xhr中的response和responseText有什么區(qū)別”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站專注于綏寧網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供綏寧營銷型網(wǎng)站建設(shè),綏寧網(wǎng)站制作、綏寧網(wǎng)頁設(shè)計、綏寧網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務(wù),打造綏寧網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供綏寧網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。xhr中的response和responseText區(qū)別
在web前端,一次http請求,對應(yīng)著一個xhr實例(基本的面向?qū)ο蟾拍睿?/p>
這個xhr實例上,就可以取到http協(xié)議中規(guī)定的各種協(xié)議屬性。本質(zhì)上,所有的請求響應(yīng)報文的主體,都是二進制的數(shù)據(jù),我們傳輸?shù)奈谋緝?nèi)容,也是編碼好的二進制數(shù)據(jù)。
http規(guī)范中規(guī)定了一個Content-type頭,用來指明數(shù)據(jù)主體的格式,來告訴收發(fā)的兩端將二進制的數(shù)據(jù)主體按照什么類型進行解析。而這兩個接口(response和responseText),其實只是提供了一些便捷的接口,配合responseType,方便用戶獲取到解析好的響應(yīng),省去手動解析響應(yīng)主體的步驟。
如果你想詳細理解的話,其實你需要去了解下數(shù)據(jù)傳輸時候的編碼和解碼。不同mimetype的數(shù)據(jù),傳輸時候的編碼方式是不同的。
responseText讀取
普通的文本(text/plain),就是編碼好的字串,這兩個接口上都可以直接讀取。
json(application/json),傳輸時候,其實是序列化后的json字串,傳輸時候是按照字串傳輸?shù)?。前端接收到的時候,其實可以直接在responseText上,按照字符串解析成一個json字串,然后手動JSON.parse。也可以手動指定responseType,直接在response上獲取解析好的json對象。
document(text/html),如果指定好了responseType,responseText可以獲取到html文本,response卻可以獲取到解析好的DOM對象。
對于其他數(shù)據(jù),比如媒體類型(視頻,音頻),普通二進制流,如果你去responseText獲取,那肯定就是亂碼了,因為這種二進制肯定沒法按照DOMString解析。但是你卻可以指定好responseType為blob,在response上獲取到Blob對象,然后再通過對應(yīng)的工具進行處理解析。
“xhr中的response和responseText有什么區(qū)別”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!