javascript - 如何将 xhr 请求转换为 Angular $http 请求?

标签 javascript angularjs ajax

我正在尝试通过以下代码通过 ajax 加载图像,该代码已经在运行。我试图将它转换成 Angular $http 但它不起作用。

纯ajax代码

var xhr = new XMLHttpRequest();
xhr.open('GET', attr.imageUrl, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
    element[0].src = window.URL.createObjectURL(this.response);
};

xhr.send();

Angular 代码

$http.get(attr.imageUrl, {}, {
    responseType: 'arraybuffer'
})
.success(function(response) {
    var file = new Blob([response]);
    element[0].src = URL.createObjectURL(file);
});

最佳答案

我认为应该是:

$http.get({ url: attr.imageUrl, responseType: 'arraybuffer'})
.success(function(response) {
    var file = new Blob([response]);
    element[0].src = URL.createObjectURL(file);
});

或者:

$http.get(attr.imageUrl, {responseType: 'arraybuffer'})
.success(function(response) {
    var file = new Blob([response]);
    element[0].src = URL.createObjectURL(file);
});

关于javascript - 如何将 xhr 请求转换为 Angular $http 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35838275/

相关文章:

javascript - 我的过滤器错误

javascript - 确定调用了哪些 AngularJS 函数

javascript - PHP AJAX 无法在 'setrequestheader' 上执行 'xmlhttprequest' 对象的状态必须打开

javascript - ajax请求后刷新vue-router View

javascript - 未捕获的 TypeError : $. ajax(...).success 不是函数

javascript - 从 $ ('input[type="文本中否定一个文本框"]')

javascript - 有没有更好的方法来更新数组中代表 React 组件状态的某些对象?

javascript - javascript中的唯一对象标识符

json - AngularJS 拦截所有 $http JSON 响应

javascript - 如何使用交叉过滤器按类别返回唯一值的数量?