如何使用Backbone和Node.js / Hapi防止CORB错误?

问题描述 投票:0回答:2

过去几天Chrome的更新导致我的SPA(Backbone.js)到我的服务器(运行Hapi的Node.js)的一些API调用被阻止了CORB错误。我正在进行原型设计,因此目前尚未进行身份验证。

在骨干我使用模型url属性,我没有看到指定标头和有效负载类型的方法。

url: function () {
     return 'http://localhost:4000/api/getSpotPrices/' + energy.type);
}

我是否需要更改Hapi中的设置以防止这种情况发生?

[更新]我在Hapi配置中添加了CORS设置并将其设置为通配符:

server.route({
    config: {
        cors: {
            origin: ['*']
        }
    },
    method: 'GET',
    etc...
}

现在Chrome抛出错误:

'Access-Control-Allow-Origin'标题包含多个值'http://localhost:63342,*',但只允许一个值。

因此,如果没有CORS配置,CORB会阻止我的服务调用。使用CORS配置设置CORS会在标头条目中抱怨过多条目。

javascript backbone.js hapijs
2个回答
1
投票

您的请求中是否有任何其他标题。这可能会导致这个问题。

这是我的cors配置,我正在使用我的反应前端。

cors: {
    origin: ['list of domains that white listed, no need for wildcard for me'],
    credentials: true, // for preflight request
    // these are the additional headers that i am using through my client code
    additionalHeaders: ['cache-control', 'x-requested-with', 'x-csrf-token', 'set-cookie'] 
},

0
投票

In能够使用Fiddler来导致问题。 My Node / Hapi方面的工作正常。但是,我之前在Chrome上安装了一个CORS插件,它将后续的通配符注入我的Access-Control-Allow-Origin标头。因此,多值头。一旦我在Chrome插件上禁用了CORS按钮,标题就像预期的那样。

© www.soinside.com 2019 - 2024. All rights reserved.