102
79

More than 5 years have passed since last update.

expressにてCORSを許可する

Posted at

コード

app.js
const express = require('express');
const app = express();
const port = 4000;

// CORSを許可する
app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

app.get('/', (req, res) => {
  res.send('hello');
});

app.listen(port);

 何をしているか

ご存知の通り、セキュリティの観点から、オリジン(htmlが置かれたサーバー)以外のサーバーからデータを取得すること(Cross-Origin-Resource-Sharing, CORS)を、現在のブラウザでは許可しておりません。
こちらを回避するためには、サーバーサイドにて、CORSを許可する必要があります。
そのため、app.use()内でレスポンスヘッダを書き換えた上で、クライアントにデータを送信しています。

なお、その名もcorsというnpm moduleを利用してCORSを許可する手もあるようです。

102
79
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
102
79