【问题标题】:Enabled Cross Origin but error still persists启用跨域但错误仍然存​​在
【发布时间】:2020-01-24 11:46:50
【问题描述】:

我在使用 express 作为中间件的 nodejs 服务器中启用了 CORS,但我仍然得到 ​​p>

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource

我已尝试启用此处建议的 cors 和解决方案 Using CORS Still Give Cross Origin Error

但它仍然对我不起作用。

app.use(cors())
app.options('*',cors())
app.use((req, res, next) => {
    res.header('Access-Control-Allow-Origin', '*');

    // authorized headers for preflight requests
    // https://developer.mozilla.org/en-US/docs/Glossary/preflight_request
    res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
    next();

    app.options('*', (req, res) => {
        // allowed XHR methods  
        res.header('Access-Control-Allow-Methods', 'GET, PATCH, PUT, POST, DELETE, OPTIONS');
        res.send();
    });
});

这就是我在前端nextjs 应用程序中创建请求的方式。

 const requestBody={
            bnb: address
        }


        let config = {
            headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
            }
        }


        axios.post(methods.verify_bnb, qs.stringify(requestBody), config)
        //

我应该能够发出请求和服务器来处理它,因为我启用了 cors,但它仍然抛出提到的错误。

【问题讨论】:

  • 为确保此处配置了 cors,请查看此处:expressjs.com/en/resources/middleware/cors.html。您是否收到 503 错误代码?我曾经看到它是如何在 chrome 浏览器中被解释为 cors 错误的——在我的示例中,当服务器在处理请求时遇到数据库调用问题时,我得到了这个。
  • 我确实按照此应用程序提供的链接中的说明进行操作,但仍然没有用。不,我也没有收到 503 错误。它不会在本地环境中产生错误。
  • 你试过这样使用cors吗? const cors = require('cors') app.use(cors()) ,我认为您现在正在设置 cors 然后覆盖这些设置。或者如果想允许它用于特定路线,请查看此处stackoverflow.com/questions/11181546/…
  • 是的,我正在使用这个配置。我已经删除了其他的,但错误仍然存​​在。值得一提的是,我已经在谷歌计算引擎上部署了服务器。我可以通过 http 与邮递员进行交互,但在应用程序上它给出了阻止混合内容的错误,所以我已将其转换为 https,它不适用于邮递员,但应用程序不会创建该错误但 cors 错误
  • 你检查了谷歌计算引擎日志吗?

标签: node.js express cors


【解决方案1】:

我将前端部署在 zeit 上,并将服务器部署在计算引擎上。这给了我这个错误,只要我在同一个计算引擎上部署前端,它就可以正常工作。我不确定这是否是正确的实现,但不再产生 CORS 错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-21
    • 2013-10-20
    • 2017-05-16
    • 2012-10-03
    • 2017-02-25
    • 1970-01-01
    • 2020-01-01
    • 2010-12-11
    相关资源
    最近更新 更多