2017-08-15 4 views
-1

Ich bin mir nicht sicher, wie mehrere Anforderungsheader für jede Ajax-Anforderung festgelegt werden. Das ist, was ich habe jetzt:So legen Sie mehrere Anforderungsheader für jede Anforderung fest

Ext.Ajax.on("beforerequest", function(conn, request){  
    request.headers = request.headers || {};  
    return request.headers.Authorization = "Bearer " + Ext.util.Cookies.get("token"); 
}, this); 

Wie Sie sehen, ich bin hier nur ein Berechtigungszeichen zu setzen. Aber jetzt möchte ich einen weiteren Header setzen, um so genannte "Refresh" -Token an den Server zu senden. Wie kann ich das machen? Übrigens muss ich bei jeder Anfrage auf Cookies zugreifen und Header setzen, da sich die Daten in diesen Cookies ändern können. Also kann ich keine Header für immer einstellen.

+0

Warum können Sie 'request.headers' nicht mit einem zweiten Header versehen? Und ich bin mir ziemlich sicher, dass Sie keinen Header-Wert von der Funktion * zurückgeben müssen, nicht zuletzt, weil es nur der Wert ist. –

+0

Ja, drop the return, und tun Sie einfach mehrere request.headers ["header-name"] = "etwas Wert"; –

+0

Danke, Jungs! – Jacobian

Antwort

1

Fügen Sie dem Objekt headers mehrere Header hinzu. Beachten Sie auch, dass Sie den Wert eines dieser Header nicht von der Funktion zurückgeben müssen (oder wollen):

Ext.Ajax.on("beforerequest", function(conn, request){  
    request.headers = request.headers || {};  
    request.headers.Authorization = "Bearer " + Ext.util.Cookies.get("token"); 
    request.headers.SomthingElse = Ext.util.Cookies.get("something-else"); // *** 
}, this); 
Verwandte Themen