gpt4 book ai didi

javascript - 无法解决我的 Express 应用中的 CORS 政策

转载 作者:行者123 更新时间:2023-12-02 22:00:59 25 4
gpt4 key购买 nike

我不断收到此错误

blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

这是我的 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}!`))

最佳答案

尝试使用 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}!`))

关于javascript - 无法解决我的 Express 应用中的 CORS 政策,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59875879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com