AngularJS - Wie deflatieren und codieren / dekodieren Sie alle jsons Anfragen an base64?

8

Sagen wir, ich habe mehrere $ Ressourcen und einige $ http um meine eckige Anwendung:

%Vor%

mit Controller

%Vor%

und einige Anfragen werden von $ http direkt wie Authentifizierung

gemacht %Vor%

Wo und wie kann ich angular angeben, um JSONs zu base64 zu deflatieren und zu decodieren / decodieren, bevor die eigentliche Anfrage gemacht wird / Antwort erhalten wird?

I quess Ich werde externe Bibliotheken für deflate und encode / decode in Fabrik verpacken. Und dann wird diese Fabrik irgendwo injiziert? Wie $ httpBackend?

    
Jakub Kuchar 30.12.2012, 12:14
quelle

3 Antworten

6

Sie sollten sich die -Anforderungs- / Antwort-Transformer für den Dienst $http ansehen: Ссылка

Request / Response-Transformatoren sind einfach Funktionen, die aufgerufen werden können, bevor Inhalt an den Aufrufer gesendet / übergeben wird. Sie können transformierende Funktionen global (für alle Anfragen / Antworten) sowie pro Anfrage angeben:

  

Um diese Umwandlung lokal zu überschreiben, geben Sie Transformationsfunktionen an   als transformRequest und / oder transformResponse Eigenschaften der Config   Objekt. Um die Standardtransformationen global zu überschreiben, überschreiben Sie die   $ httpProvider.defaults.transformRequest und   $ httpProvider.defaults.transformResponse Eigenschaften des   $ httpProvider.

Um globale Anfrage / Antwort-Transformatoren zu definieren, würde man den Code entlang dieser Zeilen schreiben (es ist mehr wie Pseudo-Code, wird nicht in allen Browsern funktionieren, siehe Anmerkungen zu Base64 unten):

%Vor%

Natürlich könnte Ihr transformierender Code ausgefeilter sein und von Anforderungs- / Antwortheadern abhängen, aber die allgemeine Idee ist hier. Die jsFiddle mit dem Code (überprüfen Sie die Konsole, um zu sehen, dass eine Anfrage umgewandelt wird, müssen Sie Mozilla oder einen WebKit-Browser verwenden): Ссылка

Für die tatsächliche Konvertierung von / nach Base64 überprüfen Sie diese Frage: Wie können Sie eine Zeichenfolge in JavaScript in Base64 codieren?

    
pkozlowski.opensource 30.12.2012, 12:40
quelle
2
%Vor%     
Jakub Kuchar 31.12.2012 19:25
quelle
0

So mache ich das im Filter. item.htmlBody enthält base64-kodierten Text mit HTML-Tag

%Vor%

Nun, ich weiß, dass das nicht genau die Frage beantwortet, aber mit ein paar kleinen Optimierungen können Sie bekommen, was Sie wollen (zukünftige Person mit demselben Problem anvisieren)

    
Azizi Musa 04.09.2014 03:16
quelle

Tags und Links