Description
XHR2 provides a response attribute, that contains a converted response to a native object, depending on the responseType ("arraybuffer", "blob", "document", "json").
See:
https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-response-attribute http://www.html5rocks.com/en/tutorials/file/xhr2/?redirect_from_locale=fr
Using this mechanism provides better performances compared to a javascript way of conversion. For example, converting an ArrayBuffer, leads to a heavy loop (See: http://updates.html5rocks.com/2012/06/How-to-convert-ArrayBuffer-to-and-from-String).
This jQuery Plugin adds XHR2 responseType support, that is currently lacking support in jQuery.ajax and probably remains in the future (See the last comments on this pull request).
Please, take a look at XHR2 current support here for more precision on the support status.
Usage
The plugin provides two means to get a native ajax response as follows.
Using jQuery.ajax
The Plugin provides the native data type for the ajax method that you should use to have a native response. You should also precise the responseType on xhrFields to precise the expected native data type. This usage method allows more customization but it is more verbose.
$;
Using jQuery.getNative wrapper method
The getNative method is a shortened version of the previous method. It allows to specify a success callback only, but returns a promise, and so permets to add the error case.
//With success callback$;//Using the returned promise (success and error callbacks respectively)$;