Muszę ustawić CORS, aby był włączony w skryptach obsługiwanych przez Express. Jak mogę ustawić nagłówki w tych zwróconych odpowiedziach dla publicznych / zasobów?
javascript
node.js
express
Dr Knowitall
źródło
źródło
res
obiekcie. Kiedy próbuję zobaczyć tę zawartość, nieokreślony używającres.headers
;res.write('content')
?res.set
nie działało dla mnie, alecors
oprogramowanie pośredniczące zrobiło to dobrze.To jest takie irytujące.
OK, jeśli ktoś nadal ma problemy lub po prostu nie chce dodawać kolejnej biblioteki. Wszystko, co musisz zrobić, to umieścić tę środkową linię kodu przed trasami.
źródło
Możesz to zrobić za pomocą cors. cors zajmie się twoją odpowiedzią CORS
źródło
Krótka odpowiedź:
res.setHeaders
- wywołuje natywną metodę Node.js.res.set
- ustawia nagłówkires.headers
- alias do res.setźródło
Na npm istnieje co najmniej jedno oprogramowanie pośredniczące do obsługi CORS w Express: cors .
źródło
Możesz również dodać oprogramowanie pośredniczące, aby dodać nagłówki CORS, coś takiego zadziała:
źródło
źródło
Odpowiedź @ klode jest prawidłowa.
Jednak powinieneś ustawić inny nagłówek odpowiedzi, aby twój nagłówek był dostępny dla innych.
Przykład:
Najpierw dodajesz „rozmiar strony” w nagłówku odpowiedzi
Następnie wszystko, co musisz zrobić, to ujawnić swój nagłówek
źródło
javascript res.set("...","..."); res.set("...","....");
Jak teraz ujawnić te 2 nagłówki?javascript Access-Control-Expose-Headers: * // or Access-Control-Expose-Headers: <header-name>, <header-name>, ...