XMLHttpRequest Level 2
Firefox Nightly:: XMLHttpRequest の readyState 値 - hogehoge @teramako の続き、かな。
前のはいきなり枝葉に走ってしまったが、Bug 649133 ? Implement XHR2 responseType/response attributes によって、まだドラフトだけどXMLHttpRequest Level 2が実装されて来てますよ。
どういうことかというと、HTML5的何かがゴニョゴニョできるようになる。
- xhr.responseType
- xhr.response
という値が使用できる。
xhr.mozResponseTypexhr.mozResponse
だけど。ベンダープレフィックスは取り除かれました
んで、何が嬉しいの? というと。
var xhr = new XMLHttpRequest(); xhr.open("GET", url, false); xhr.responseType = "blob"; xhr.send(null); var file = xhr.response; file instanceof File; // true // ....
という感じの書き方ができる。
xhr.responseTypeに入れた文字列によって、xhr.responseの内容が変わってくる。
xhr.responseTypeに入れられるのは、
| mozResponseType | responseの値 |
|---|---|
| "arraybuffer" | ArrayBufferオブジェクト |
| "blob" | FileAPIのFileオブジェクト |
| "document" | Documentオブジェクト(xhr.responseXMLと同じ?) |
| "text" | String (xhr.responseTextと同じ?) |
今まではXHRからバイナリを扱うのは困難だったわけだけど、それが簡単になったというわけ。
夢が広がりますね!!!
Google Chrome は既に実装してた。Chrome実装早いなあ。