Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 响应类型blob,但正在获取xml数据_Javascript_Angularjs_Blob - Fatal编程技术网

Javascript 响应类型blob,但正在获取xml数据

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: {

我有一个angularjs函数来调用API。API一次返回图像。另一次返回xml。我可以显示返回的图像,如果我设置响应类型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) {
       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);
}