Javascript 响应类型blob,但正在获取xml数据
我有一个angularjs函数来调用API。API一次返回图像。另一次返回xml。我可以显示返回的图像,如果我设置响应类型blob如下Javascript 响应类型blob,但正在获取xml数据,javascript,angularjs,blob,Javascript,Angularjs,Blob,我有一个angularjs函数来调用API。API一次返回图像。另一次返回xml。我可以显示返回的图像,如果我设置响应类型blob如下 $http({ url: apiConstants.BASE_URL + 'login', method: "POST", responseType: "blob", data: { "Req": req }, headers: {
$http({
url: apiConstants.BASE_URL + 'login',
method: "POST",
responseType: "blob",
data: {
"Req": req
},
headers: {
'X-Username': aUser,
'X-Password': aPass,
"Content-Type": "application/xml"
},
dataType: "xml"
}).success(function(data, status) {
console.log(data);
}
console.log打印blob对象。但当API返回xml内容时,它也将作为blob对象返回。我试图获取blob的xml内容,但找不到方法:(。有人能给我一个从blob对象获取xml数据的方法吗?最后我找到了答案。我们可以使用FileReader提取blob对象 我所做的是
$http({
url: apiConstants.BASE_URL + 'login',
method: "POST",
responseType: "blob",
data: {
"Req": req
},
headers: {
'X-Username': aUser,
'X-Password': aPass,
"Content-Type": "application/xml"
},
dataType: "xml"
}).success(function(data, status) {
var reader = new FileReader();
reader.addEventListener("loadend", function() {
console.log(reader.result);
}
reader.readAsText(data);
}
最后我找到了答案。我们可以使用FileReader提取blob对象 我所做的是
$http({
url: apiConstants.BASE_URL + 'login',
method: "POST",
responseType: "blob",
data: {
"Req": req
},
headers: {
'X-Username': aUser,
'X-Password': aPass,
"Content-Type": "application/xml"
},
dataType: "xml"
}).success(function(data, status) {
var reader = new FileReader();
reader.addEventListener("loadend", function() {
console.log(reader.result);
}
reader.readAsText(data);
}