Ich muss CORS so einstellen, dass es für Skripte aktiviert ist, die von Express bereitgestellt werden. Wie kann ich die Header in diesen zurückgegebenen Antworten für public / Assets festlegen?
javascript
node.js
express
Dr.Knowitall
quelle
quelle
res
Objekt gesetzt habe. Wenn ich versuche, diesen Inhalt zu sehen, gehe ich undefiniert mitres.headers
;res.write('content')
?res.set
hat es bei mir nicht funktioniert, aber diecors
Middleware hat den Trick genau richtig gemacht.Das ist so nervig.
Okay, wenn noch jemand Probleme hat oder einfach keine weitere Bibliothek hinzufügen möchte. Alles, was Sie tun müssen, ist, diese mittlere Codezeile vor Ihren Routen zu platzieren.
quelle
Sie können dies mit cors tun. cors kümmert sich um Ihre CORS-Antwort
quelle
Kurze Antwort:
res.setHeaders
- ruft die native Node.js-Methode aufres.set
- Setzt Headerres.headers
- Ein Alias für res.setquelle
Auf npm gibt es mindestens eine Middleware für die Verarbeitung von CORS in Express: cors .
quelle
Sie können auch eine Middleware hinzufügen, um CORS-Header hinzuzufügen. So etwas würde funktionieren:
quelle
quelle
@ klodes Antwort ist richtig.
Sie sollten jedoch einen anderen Antwortheader festlegen, um Ihren Header für andere zugänglich zu machen.
Beispiel:
Zuerst fügen Sie im Antwortheader die Seitengröße hinzu
Dann müssen Sie nur noch Ihren Header offenlegen
quelle
javascript res.set("...","..."); res.set("...","....");
Wie legen Sie nun diese beiden Header frei?javascript Access-Control-Expose-Headers: * // or Access-Control-Expose-Headers: <header-name>, <header-name>, ...