2012-11-28 3 views
5

Wie setze ich Kopfzeilen, bevor Sie eine Anfrage stellen?Festlegen von AJAX-Headern in Breeze

Beispiel: mein Dienst erwartet, dass ein bestimmter Schlüssel Teil der Anfrage in ein Header-Name "x-Service-Key" sein. Bis jetzt habe ich mit jquery ajax und amplify, so ziemlich einfach, um den Header einzurichten. Da ich keine Kontrolle über die Anfrage, die Brise macht, wie gebe ich zusätzliche Zeug wie Header?

Diese Frage wurde von sujesharukil in unseren IdeaBlade Foren gestellt. Ich wiederhole die Frage und antworte hier, da ich denke, dass es für die Breeze Stack Overflow-Community nützlich sein wird.

Antwort

7

Ab Breeze 0.70.1 unterstützen wir jetzt die Möglichkeit, jede Ajax-Kommunikation zwischen dem Brise-Client und dem Web-Service auf dem Server vollständig anzupassen oder zu ersetzen.

Die Breeze-Dokumentation zu unserer Ajax-Unterstützung ist noch in Arbeit, aber hoffentlich werden Sie mit den folgenden Schritten beginnen.

Um die Header bei jeder Ajax-Anfrage von Breeze zu steuern, können Sie den folgenden Code ausführen, wenn Ihre App zum ersten Mal gestartet wird.

Alternativ können Sie die einzelnen Ajax-Aufrufe abfangen und Ihre Header basierend auf der Anfrage selektiv hinzufügen.

var ajaxImpl = breeze.config.getAdapterInstance("ajax"); 
ajaxImpl.defaultSettings = { 
     beforeSend: function(jqXHR, settings) { 
       // examine the jqXHR or settings and customize the headers accordingly. 
       jqXHR.setRequestHeader("X-Test-Before-Send-Header", "foo2"); 
     } 
}; 
Verwandte Themen