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
})
2 時間以上検索した結果、これが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 (success 関数、error 関数) を使用しています。これは、elder メソッド (成功とエラーを分離する) よりもはるかに優れており、信頼性があります。