跨域问题 OPTIONS 报404 It does not have HTTP ok status

发布于 2022-09-11 19:47:16 字数 1247 浏览 17 评论 0

node.js后端代码添加了res.setHeader('Access-Control-Allow-Origin', '*')等处理跨域问题,但是请求时OPTIONS请求还是返回 404, 同时控制台报错: It does not have HTTP ok status.请问该如何处理

Request URL: http://127.0.0.1:8000/api/user/login
Request Method: OPTIONS
Status Code: 404 Not Found
Remote Address: 127.0.0.1:8000
Referrer Policy: no-referrer-when-downgrade
Access to XMLHttpRequest at 'http://127.0.0.1:8000/api/user/login' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

node.js

res.setHeader('Content-Type', 'application/json;charset=utf-8')
    res.setHeader('Access-Control-Allow-Origin', '*') // 允许跨域
    res.setHeader('Access-Control-Allow-Credentials', true) // 是否允许发送Cookie,ture为运行 
    res.setHeader('Access-Control-Allow-Methods', 'OPTIONS, GET, PUT, POST, DELETE')
    res.setHeader(
        "Access-Control-Allow-Headers",
        "Content-Type, Access-Control-Allow-Headers, Access-Control-Request-Headers, Access-Control-Request-Method, Authorization, X-Requested-With, User-Agent, Referer, Origin"
        )
    res.setHeader("Access-Control-Max-Age", 1728000)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

跨年 2022-09-18 19:47:16

res.setHeader('Access-Control-Allow-Origin', '*') // 允许跨域
res.setHeader('Access-Control-Allow-Credentials', true) // 是否允许发送Cookie,ture为运行

如果你跨域想带上凭证信息,那么Access-Control-Allow-Origin就不能设置为*,
可以设置为 req.origin (获取请求origin)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文