XMLHttpRequest:responseType 屬性

Baseline 已廣泛支援

此功能已得到良好確立,並在許多裝置和瀏覽器版本中都可使用。自 ⁨2016 年 11 月⁩以來,它已在所有瀏覽器中可用。

注意:此功能在 Web Workers 中可用,但 Service Workers 除外。

responseType 屬性是 XMLHttpRequest 的一個列舉字串值,用於指定響應中包含的資料型別。

它還允許開發者更改響應型別。如果 responseType 的值被設定為一個空字串,則會使用預設值 text

一個指定響應包含何種型別資料的字串。它可以接受以下值:

""

空字串的 responseType"text"(預設型別)相同。

"arraybuffer"

response 是一個包含二進位制資料的 JavaScript ArrayBuffer

"blob"

response 是一個包含二進位制資料的 Blob 物件。

"document"

response 是一個 HTML DocumentXML XMLDocument,具體取決於接收到的資料的 MIME 型別。要了解更多關於使用 XHR 獲取 HTML 內容的資訊,請參閱 XMLHttpRequest 中的 HTML

"json"

response 是透過將接收到的資料內容解析為 JSON 而建立的 JavaScript 物件。

"text"

response 是一個字串形式的文字。

注意: 當將 responseType 設定為特定值時,開發者應確保伺服器實際傳送的響應與該格式相容。如果伺服器返回的資料與設定的 responseType 不相容,response 的值將為 null

異常

InvalidAccessError DOMException

嘗試在同步模式下的 XMLHttpRequest(且不屬於 Worker)上更改 responseType 的值。有關更多詳細資訊,請參閱下面的 同步 XHR 限制

用法說明

同步 XHR 限制

在同步 XMLHttpRequest 中,你不能更改 responseType 的值,除非該請求屬於一個 Worker。此限制部分是為了幫助確保同步操作不被用於可能阻塞瀏覽器主執行緒的大型事務,從而拖慢使用者體驗。

XHR 請求預設是非同步的;只有在呼叫 open() 時將可選的 async 引數值設為 false,它們才會被置於同步模式。

Worker 中的限制

Worker 中,嘗試將 responseType 的值設定為 document 的操作將被忽略。

規範

規範
XMLHttpRequest
# the-responsetype-attribute

瀏覽器相容性

另見