Ich erstelle eine Frontend-App mit React und Redux und verwende Axios , um meine Anforderungen auszuführen. Ich möchte Zugriff auf alle Felder in der Kopfzeile der Antwort erhalten. In meinem Browser kann ich den Header überprüfen und sehen, dass alle Felder vorhanden sind, die ich benötige (wie Token, UID usw.), aber wenn ich anrufe
const request = axios.post(`${ROOT_URL}/auth/sign_in`, props);
request.then((response)=>{
console.log(response.headers);
});
Ich verstehe nur
Object {content-type: "application/json; charset=utf-8", cache-control: "max-age=0, private, must-revalidate"}
Hier ist mein Browser-Netzwerk-Tab, wie Sie sehen können, alle anderen Felder vorhanden.
Beste.
http-headers
es6-promise
axios
TWONEKSONE
quelle
quelle
axios.defaults.headers
für die Konfiguration der REQUEST-Header-Parameter? Ich muss auf die ANTWORT zugreifen. @ BenHareAntworten:
Bei CORS-Anforderungen können Browser standardmäßig nur auf die folgenden Antwortheader zugreifen:
Wenn Sie möchten, dass Ihre Client-App auf andere Header zugreifen kann, müssen Sie den Header Access-Control-Expose- Headers auf dem Server festlegen :
quelle
expose: ['Access-Token', 'Uid']
den Ursprung wieresource '*', :headers => :any, :methods => [:get, :post, :put, :patch, :delete, :options, :head], expose: ['Access-Token', 'Uid']
'Access-Control-Expose-Headers' 'Authorization, X-Suggested-Filename, content-disposition' always;
immer noch nur, dass ichcontent-type: "application/pdf"
wirklich ziehen musscontent-disposition
Das hat mir wirklich geholfen, danke Nick Uraltsev für deine Antwort.
Für diejenigen unter Ihnen, die nodejs mit cors verwenden :
In dem Fall, dass Sie die Antwort in der Art von senden
res.header('Authorization', `Bearer ${token}`).send();
quelle
Ich hatte das gleiche Problem. Y hat dies in meiner "WebSecurity.java" getan, es geht um die setExposedHeaders-Methode in der cors-Konfiguration.
Ich hoffe, es funktioniert.
quelle
Konfrontiert das gleiche Problem in asp.net Kern Hoffe, das hilft
quelle
Laut offiziellen Dokumenten :
Dies kann hilfreich sein, wenn Sie die HTTP-Header verwenden möchten , mit denen der Server geantwortet hat . Alle Headernamen sind in Kleinbuchstaben geschrieben und können über die Klammernotation aufgerufen werden. Beispiel:
response.headers['content-type']
gibt so etwas wie: headers: {},quelle
Für den SpringBoot2 einfach hinzufügen
zu Ihrem CORS-Filter-Implementierungscode, um eine Whitelist zu haben
custom-header1
undcustom-header2
etc.quelle
für Django Hilfe
quelle