Siehe die akzeptierte Antwort zu hier für eine ziemlich gute Erklärung der Funktion / Array transFormRequest.
Im letzten Beispiel der Antwort:
%Vor% Das Problem dabei ist jedoch, dass transformRequest: transform
das Array von Funktionen überschreibt, die Angular vordefiniert hat.
Aus den angularen Dokumenten :
Um die Standardtransformationen global zu erweitern oder zu überschreiben, ändern Sie die Eigenschaften $ httpProvider.defaults.transformRequest und $ httpProvider.defaults.transformResponse. Diese Eigenschaften sind standardmäßig ein Array von Transformationsfunktionen, mit denen Sie eine neue Transformationsfunktion in die Transformationskette schieben oder nicht verschieben können. Sie können auch entscheiden, alle Standardtransformationen vollständig zu überschreiben, indem Sie diese Eigenschaften direkt diesen Eigenschaften ohne den Array-Wrapper zuweisen. Diese Standardwerte sind zur Laufzeit wieder in der $ http-Factory verfügbar. Dies kann nützlich sein, wenn Sie Runtime-Services haben, die Sie in Ihre Transformationen einbeziehen möchten.
Um lokal die Anfrage / Antwort-Transformationen zu überschreiben, erweitern Sie analog die TransformRequest- und / oder TransformResponse-Eigenschaften des Konfigurationsobjekts, das an $ http übergeben wurde.
Wenn ich meine Transformationsfunktion global anwenden möchte, würde ich
machen %Vor%oder
%Vor% Meine Frage
Anstatt das gesamte Array von Transformationsanforderungsfunktionen zu löschen, wie drückt man eine andere Transformationsfunktion auf einen Aufruf, nicht global?
Ich fand eine einfache Lösung mit der Methode .concat
oder alternativ, wenn Sie möchten, dass Ihre benutzerdefinierte Umwandlung nach den Standardtransformationen des Winkels stattfindet.
%Vor%Tags und Links angularjs angularjs-http