我想用 AngularJS 制作一个显示媒体(图像或视频)的指令。
为了实现这个目标,我必须确定媒体的类型,为此我想对 url 发出 AJAX 请求并获取 Content-Type 标头,但我在文档中没有找到类似的东西。
你有一些提示吗?
我想用 AngularJS 制作一个显示媒体(图像或视频)的指令。
为了实现这个目标,我必须确定媒体的类型,为此我想对 url 发出 AJAX 请求并获取 Content-Type 标头,但我在文档中没有找到类似的东西。
你有一些提示吗?
您可以使用$http获取所有标头:
$http({method: 'GET', url: '/someUrl'}).
success(function(data, status, headers, config) {
var contentType = headers('Content-Type');
// use the content-type here
})
你可以用 jQuery 做到这一点:
$.ajax({
url:'/someUrl',
type: 'GET',
success:function(res, status, xhr){
var contentType = xhr.getResponseHeader('Content-Type');
}
});
经过两个多小时的搜索,这是我为 angularJS 1.x找到的最佳答案:
$http({
method: method,
url: url,
data: data,
header: {'Content-Type': 'application/x-www-form-urlencoded'},
timeout: 30000
})
.then(
//success function
function(response){
console.log(response.headers('content-type'));
},
//error function
function(response){
}
);
主要部分是response.headers('content-type')
注 1:此解决方案适用于 angular 1.x。
注2:此方法使用then(成功函数,错误函数),比elder方法(成功和错误分开)要好得多,也更可靠