2013-06-10 11 views
5

Chcę utworzyć dyrektywę z AngularJS, która wyświetla multimedia (obraz lub wideo).Uzyskiwanie typu zawartości za pomocą AngularJS lub jQuery

Aby osiągnąć ten cel, muszę określić rodzaj mediów, w tym celu chciałem dokonać ponownej ankiety AJAX pod adres URL i uzyskać nagłówek Content-Type, ale nie znalazłem czegoś takiego w dokumentacja.

Czy masz jakieś wskazówki, aby to zrobić?

Odpowiedz

7

Możesz pobrać wszystkie nagłówki z $http:

$http({method: 'GET', url: '/someUrl'}). 
    success(function(data, status, headers, config) { 
     var contentType = headers('Content-Type'); 
     // use the content-type here 
    }) 
2

Można to zrobić z jQuery:

$.ajax({ 
    url:'/someUrl', 
    type: 'GET', 
    success:function(res, status, xhr){ 
     var contentType = xhr.getResponseHeader('Content-Type'); 
    } 
}); 
1

Po ponad dwóch godzinach poszukiwań, jest to najlepsza odpowiedź znalazłem dla 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){ 
     } 
    ); 

Główną część jest response.headers (Content-Type ")

Uwaga 1: Roztwór ten nanosi się na kątowym 1.x.

Uwaga 2: Metoda ta wykorzystuje następnie (funkcja sukces, funkcja błędu), która jest znacznie bardziej lepsze i niezawodne niż metoda starszego (oddzielnej sukcesów i błędów)

Powiązane problemy