2016-11-28 1 views
10

res.setHeaderとres.headerの違いは何ですか?どのようなcorsを有効にするために使用する必要がありますか?いくつかのページでは、res.headerが使用され、CORSにはres.setHeaderが使用されています。node.jsのres.setHeaderとres.headerの相違点

+0

可能な重複[?エクスプレス/ Node.jsのでCORSを許可する方法](http://stackoverflow.com/questions/7067966/how-to- allow-cors-in-express-node-js) –

+0

私はCORSを許可する方法を知っています。しかし、どこかにres.headerとどこかのres.setHeaderと書かれています。 – Subham

答えて

19

res.setHeader()は、Node.jsのネイティブメソッドであり、res.header()は、Expressフレームワークのres.set()メソッドのエイリアスです。

ドキュメント:res.setHeader()res.set()

この2つの方法がまったく同じことを行う、ヘッダのHTTPレスポンスを設定します。唯一の違いはres.setHeader()です。には、res.header()を設定するとに複数のヘッダーを設定することができます。 あなたのニーズに合わせて使いましょう。

+0

これは実際には正しくありません。 res.header( 'X-Frame-Options'、 'X-Frame-Options'、 'X-Frame-Options'、 ' * ') 'はヘッダ' x-frame-options'を値 '*'で設定します。ただし、ヘッダーは技術的に大文字小文字を区別しないため、ほとんどのシナリオでは問題ありません。 – asleepysamurai

1

おそらく例では、より多くのを明確にすることができます

// 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" 
    }); 
+3

注:上記の 'setHeader'の例では"コロン "の代わりに"コンマ "でなければなりません –

+0

プロパティの間にはコンマが入ります。コロン(:)は、プロパティから値を分離するjavascriptの方法です。だから私はそれが正しいことを知っている。チェックを行い、コードが機能しない場合はお知らせください。ありがとう – Ghafoor

+1

@Ghafoorでもノードのネイティブ 'res.setHeader'関数(https://nodejs.org/docs/v0.4.0/api/http.html#response.setHeader)は二つの引数(' name'、 'value')を取得します。コンマで区切られています)。あなたは1つの 'object'引数と混同しているかもしれません(しかし' {} 'がなくても)。 TL; DR:コロンはコンマでなければなりません – d2uX