comment définir des en-têtes personnalisés avec un $ressource d'action?
avec $http, on peut faire ceci:
var config = { headers: { 'something': 'anything' } };
$http.get('url/to/json', config)
.success(function() {
//do something…
})
je voudrais faire la même chose avec un $de référence de ressource (pas de travail):
var config = { headers: { 'something': 'anything' } };
MyResource.get(
config,
function() { //success
//do something…
}
);
avec le service correspondant déclaré comme ceci :
.factory('MyResource', function($resource){
return $resource('url/to/json');
})
ça ne fonctionne pas : l'objet de config va à l'url et pas dans les en-têtes http.
Est-il un moyen de le faire ?
Vous devez vous connecter pour publier un commentaire.
headers
pour$resource
est disponible depuis AngularJS 1.1.1. Assurez-vous que vous avez la bonne version utilisée.Le format est
[modifier par zuma]
Le ci-dessus ne semble pas juste. Le troisième paramètre $ressource doit être un autre. Cela semble plus correct pour moi:
MyResource.action()
à partir du contrôleur, et non pas du service (comme dans mon exemple).La
headers
objet à l'intérieur d'une ressource d'action prend en charge les deuxstatic
valeurs de ses champs, mais aussidynamic
valeurs de retour d'une fonction.Le Code De Démonstration
JsFiddle DÉMO
$http.defaults.headers…
ligne et d'utiliser quelque chose de spécifique à $ressource. btw, connaissez-vous la différence entre$http.defaults.headers.common
et$httpProvider.defaults.headers.common
?À utiliser "Content-Type" en-tête, vous pouvez avoir besoin de spécifier les données de l'organisme au moins pour les versions autour de 1.4.7+ en raison de $http suppression d'en-têtes sans corps de données qui sont = = = "content-type". Voir n ° 10255 dans 1.4.7/angular.js
Je viens de mettre des données": false," à l'usurpation, sans spécifier de données de corps:
Vous pouvez définir la dynamique d'un hors-têtes en accédant à la configuration de l'API objet dans la ressource
Le Code De Démonstration
Pour exécuter