Running new XMLHttpRequest().responseType = "json"
in the console throws an "InvalidStateError" exception in Firefox 26 and IE11 but not in Chrome 31.
Why?
The Spec states that setting responseType
throws an "InvalidStateError" exception if the state is LOADING or DONE.
but in this case the state is UNSENT.
What's going on?
The XMLHttpRequest property responseType is an enumerated string value specifying the type of data contained in the response. It also lets the author change the response type. If an empty string is set as the value of responseType , the default value of text is used.
Synchronous XHR is now in deprecation state. The recommendation is that developers move away from the synchronous API and instead use asynchronous requests.
Note that setting responseType
after I call open
on the xhr object solved my problem (using IE11)
It's a working draft, so it's normal if there are small differences or bugs in the implementations. I think Firefox still follows the behavior described in the draft of August 2011, where is specified that the exception is thrown if the state is not OPENED
or HEADERS_RECEIVED
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With