[Node.js] 如何在 Node.js 設定 CORS
現在架大型網站經常是前後端拆開在不同 server,如此前端在 ajax 時就需要特別注意,因為像 Express 預設就會是 mode: no-cors
非同網域不能獲取資源。
Express 官方自己出了一個套件 cors 方便大家在 Node.js 上設定 CORS
cors 的預設為全開放:
{
"origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
"preflightContinue": false,
"optionsSuccessStatus": 204
}
var express = require('express');
var cors = require('cors');
var app = express();
app.use(cors());
如果需要設定的話:
const corsOptions = {
origin: [
'http://www.example.com',
'http://localhost:8080',
],
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS',
allowedHeaders: ['Content-Type', 'Authorization'],
};
app.use(cors(corsOptions));
筆記一下,不然每次都要從舊的程式碼複製。
Reference