gpt4 book ai didi

node.js - CORS "It does not have HTTP ok status."

转载 作者:搜寻专家 更新时间:2023-10-31 23:25:58 24 4
gpt4 key购买 nike

NodeJS Express 平台。使用 Zeit Now 2. 不能使用 server.js 作为代理从后端发送以防止 CORS。因此,也不会与 CORS 问题搏斗。经过测试的桌面:chrome、safari、firefox。手机: Chrome ,火狐。已测试使用 HTTPS 在 Now 上托管,与我在 localhost:3000127.0.0.1:3000 上本地遇到的错误相同,同样使用端口 80.

Access to fetch at 'https://**MY_URL**/user/login' from origin 'http://127.0.0.1:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

我使用 https://www.npmjs.com/package/cors设置我的 CORS 配置:

app.use(cors({
'allowedHeaders': ['Content-Type', 'API-Key', 'API-Secret', 'Access-Control-Allow-Headers'', 'accept', 'client-security-token'],
'exposedHeaders': ['sessionId'],
'origin': '*',
'methods': 'GET, HEAD, PUT, PATCH, POST, DELETE, OPTIONS',
'preflightContinue': false,
'credentials': true
}));

CORS 设置似乎对我不起作用,所以我尝试使用 now.json 文件,如下所示(修剪版本):

{
"name": "my-test-api",
"version": 2,
"routes": [
{
"src": "/.*",
"methods": ["GET", "POST", "OPTIONS"],
"headers": { "Access-Control-Max-Age": "1000", "Access-Control-Allow-Methods": "GET, HEAD, PUT, PATCH, POST, DELETE, OPTIONS", "Access-Control-Allow-Origin": "*", "Accept": "text/plain", "Content-Type": "text/plain", "Access-Control-Allow-Headers": "sessionId, Content-Type, API-Key, API-Secret, Access-Control-Allow-Headers", "Access-Control-Expose-Headers": "sessionId", "Access-Control-Allow-Credentials": "true" },
"continue": true
},
{ "src": "/user/login", "methods": ["POST"], "dest": "index.js" }
]
}

甚至在我的所有回复中添加了 statusCode 200,但没有任何成功。删除 Npm-cors-package 不会改变任何东西,但删除 Now.json 会完全破坏东西,我得到 this error, from MDN即使我在我的 app.use(cors()) 中指定了它。

真的不知道该怎么做,一直在为此苦苦挣扎。 cURL 或其他我可以使用后端代理的主机没有问题。

最佳答案

您可能需要为您的路线启用飞行前请求

app.use(cors())

app.options('/post/login', cors()) // enable pre-flight requests
app.post('/post/login', (req, res, next) => {
// your code here
});

或所有路线

app.options('*', cors())

关于node.js - CORS "It does not have HTTP ok status.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57640113/

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