无法在我的快递应用中解决 CORS 政策
Posted
技术标签:
【中文标题】无法在我的快递应用中解决 CORS 政策【英文标题】:Can't solve CORS policy in my express app 【发布时间】:2020-05-09 13:36:31 【问题描述】:我一直收到这个错误
被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
这是我的 Express 代码
const express = require('express')
const app = express()
const port = 3001
var redis = require("redis"),
client = redis.createClient();
const promisify = require('util')
const getAsync = promisify(client.get).bind(client);
app.get('/jobs', async (req, res) =>
const jobs = await getAsync('github');
res.header("Access-Control-Allow-Origin", "http://localhost:3000");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
return res.send(jobs);
)
app.listen(port, () => console.log(`Example app listening on port $port!`))
【问题讨论】:
你试试这个? expressjs.com/en/resources/middleware/cors.html 能否也添加客户端请求 我遇到了一些不久前解决的 cors 问题。这是我对 SO 提出的问题:***.com/questions/50860526/… 【参考方案1】:尝试cors
中间件包以在 express 应用中启用内核。
安装为生产依赖项。
npm install --save cors
例子:
const express = require('express');
const cors = require('cors');
const app = express();
const port = 3001
var redis = require("redis"),
client = redis.createClient();
const promisify = require('util')
const getAsync = promisify(client.get).bind(client);
const allowedOrigins = ["http://localhost:3000"];
app.use(cors(
origin: function (origin, callback)
if (!origin) return callback(null, true);
if (allowedOrigins.indexOf(origin) === -1)
var msg = 'The CORS policy for this site does not ' +
'allow access from the specified Origin.';
return callback(new Error(msg), false);
return callback(null, true);
));
app.get('/jobs', async (req, res) =>
const jobs = await getAsync('github');
res.header("Access-Control-Allow-Origin", "http://localhost:3000");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
return res.send(jobs);
)
app.listen(port, () => console.log(`Example app listening on port $port!`))
【讨论】:
以上是关于无法在我的快递应用中解决 CORS 政策的主要内容,如果未能解决你的问题,请参考以下文章
如何解决 Ionic Angular 应用程序中的 CORS 策略问题?