Jaka jest różnica między res.setHeader i res.header. który powinien być używany do włączania cors? W niektórych stronach używany jest res.header, a niektóre strony res.setHeader są używane dla CORS.Różnica między res.setHeader i res.header w node.js
Odpowiedz
res.setHeader()
to natywna metoda Node.js i res.header()
jest aliasem metody res.set()
ze struktury Express.
Dokumentacja:
res.setHeader()
,res.set()
Te dwie metody robić dokładnie to samo, ustawić nagłówki HTTP odpowiedzi. Jedyna różnica polega na tym, że res.setHeader()
pozwala tylko na ustawienie pojedynczego nagłówka i res.header()
pozwoli ci ustawić ustawić wiele nagłówków. Użyj jednego dopasowania do swoich potrzeb.
To nie jest poprawne. 'res.setHeader ('X-Frame-Options', '*')' ustawi nagłówek 'X-Frame-Options' z wartością' * ', podczas gdy' res.header ('X-Frame-Options', ' * ') 'ustawi nagłówek' x-frame-options' z wartością '*'. Jednakże, ponieważ nagłówki są technicznie niewrażliwe na wielkość liter, powinno to być dobre w większości scenariuszy. – asleepysamurai
Być przykładem może wyjaśnić więcej:
// single field is set
res.setHeader('content-type', 'application/json');
// multiple files can be set
res.set({
'content-type': 'application/json',
'content-length': '100',
'warning': "with content type charset encoding will be added by default"
});
Uwaga: powinno być "przecinkiem" zamiast "dwukropkiem" w przykładzie 'setHeader' powyżej –
Pomiędzy właściwościami znajduje się przecinek. Dwukropek (:) jest sposobem javascriptu oddzielającego wartość od jego właściwości. Więc wiem, że to prawda. Proszę sprawdzić i daj mi znać, jeśli kod nie działa. Dzięki – Ghafoor
@Ghafoor, ale natywna funkcja 'res.setHeader' węzła (https://nodejs.org/docs/v0.4.0/api/http.html#response.setHeader) otrzymuje dwa argumenty (' name', 'value' który są oddzielone przecinkiem). Mogłeś pomylić go z jednym argumentem 'object' (ale nawet wtedy brakuje' {} '). TL; DR: dwukropek powinien być przecinkiem – d2uX
Możliwy duplikat [? Jak zezwolić CORS Ekspresowe/node.js] (http://stackoverflow.com/questions/7067966/how-to- allow-cors-in-express-node-js) –
Wiem, jak zezwolić na CORS. Ale gdzieś jest napisane res.header i gdzieś res.setHeader. – Subham