mirror of
https://github.com/silkimen/cordova-plugin-advanced-http.git
synced 2026-04-24 00:00:03 +08:00
Fix #224: responseType "arraybuffer" and "blob" not working on browser platform
This commit is contained in:
Vendored
+10
-2
@@ -52,11 +52,19 @@ function deserializeResponseHeaders(headers) {
|
||||
return headerMap;
|
||||
}
|
||||
|
||||
function getResponseData(xhr) {
|
||||
if (xhr.responseType !== 'text' || jsUtil.getTypeOf(xhr.responseText) !== 'String') {
|
||||
return xhr.response;
|
||||
}
|
||||
|
||||
return xhr.responseText;
|
||||
}
|
||||
|
||||
function createXhrSuccessObject(xhr) {
|
||||
return {
|
||||
url: xhr.responseURL,
|
||||
status: xhr.status,
|
||||
data: jsUtil.getTypeOf(xhr.responseText) === 'String' ? xhr.responseText : xhr.response,
|
||||
data: getResponseData(xhr),
|
||||
headers: deserializeResponseHeaders(xhr.getAllResponseHeaders())
|
||||
};
|
||||
}
|
||||
@@ -65,7 +73,7 @@ function createXhrFailureObject(xhr) {
|
||||
var obj = {};
|
||||
|
||||
obj.headers = xhr.getAllResponseHeaders();
|
||||
obj.error = jsUtil.getTypeOf(xhr.responseText) === 'String' ? xhr.responseText : xhr.response;
|
||||
obj.error = getResponseData(xhr);
|
||||
obj.error = obj.error || 'advanced-http: please check browser console for error messages';
|
||||
|
||||
if (xhr.responseURL) obj.url = xhr.responseURL;
|
||||
|
||||
Reference in New Issue
Block a user