En poussant ou Unshifting dans le transformRequest tableau $http (non globale)
Voir la accepté de répondre à ici pour une très bonne explication sur le transFormRequest fonction/tableau.
Dans la réponse de la dernier exemple:
var transform = function(data){
return $.param(data);
}
$http.post("/foo/bar", requestData, {
headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
transformRequest: transform
}).success(function(responseData) {
//do stuff with response
});
Cependant, le problème avec ceci est que transformRequest: transform
remplace le tableau de fonctions qui Angulaire a pré-construit.
De l'angle de docs:
À l'échelle mondiale compléter ou remplacer la valeur par défaut transforme, de modifier le $httpProvider.les valeurs par défaut.transformRequest et $httpProvider.les valeurs par défaut.transformResponse propriétés. Ces propriétés sont, par défaut, un tableau de transformer des fonctions, ce qui vous permet de pousser ou d'annuler le déplacement d'une nouvelle fonction de transformation dans la chaîne de transformation. Vous pouvez également décider d'annuler tout défaut de transformations par l'assignation de vos fonctions de transformation de ces propriétés directement sans l'ensemble de son enveloppe. Ces valeurs par défaut sont de nouveau disponibles sur le $http usine au moment de l'exécution, ce qui peut être utile si vous avez au moment de l'exécution des services que vous souhaitez être impliqué dans vos transformations.
De même, localement remplacer la requête/réponse transforme, augmenter la transformRequest et/ou transformResponse propriétés de la configuration de l'objet passé en $http.
Si je voulais appliquer ma fonction de transformation à l'échelle mondiale, je ne
$httpProvider.defaults.transformRequest.unshift(myFunction)
ou
$httpProvider.defaults.transformRequest.push(myFunction)
Ma question
Au lieu d'effacer l'ensemble de la matrice de transformer les fonctions de demande, comment vous pousser un autre fonction de transformation à un appel, non pas à l'échelle mondiale?
OriginalL'auteur NicolasMoise | 2014-02-14
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une solution simple à l'aide de la
.concat
méthodeou sinon, si vous voulez que votre transformation personnalisé après angulaire par défaut de transformations.
OriginalL'auteur NicolasMoise
Angulaire, dans la documentation fait cette suggestion:
OriginalL'auteur jfcorugedo
Voici encore une Solution à cela :
Espère que c'est de l'aide
OriginalL'auteur Victorino