2013-06-10 20 views
5

Desidero creare una direttiva con AngularJS che visualizza un supporto (un'immagine o un video).Ottenere il tipo di contenuto con AngularJS o jQuery

Per raggiungere questo obiettivo, devo determinare il tipo di supporto, per fare ciò ho voluto rendere AJAX più esigente all'URL e ottenere l'intestazione Content-Type, ma non ho trovato qualcosa del genere nel documentazione.

Avete qualche suggerimento per farlo?

risposta

7

È possibile ottenere tutte le intestazioni con $http:

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

Si può fare questo con jQuery:

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

Dopo più di due ore di ricerca, questa è la risposta migliore che ho trovato per 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){ 
     } 
    ); 

La parte principale è response.headers ('content-type')

Nota 1: Questa soluzione è applicata a 1.x. angolare

Nota 2: Questo metodo utilizza quindi (funzione successo, funzione di errore), che è molto più meglio affidabile rispetto al metodo anziana (successo separato ed errore)

Problemi correlati