如何使用Backbone和Node.js / Hapi防止CORB错误?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Backbone和Node.js / Hapi防止CORB错误?相关的知识,希望对你有一定的参考价值。
过去几天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会在标头条目中抱怨过多条目。
您的请求中是否有任何其他标题。这可能会导致这个问题。
这是我的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']
},
In能够使用Fiddler来导致问题。 My Node / Hapi方面的工作正常。但是,我之前在Chrome上安装了一个CORS插件,它将后续的通配符注入我的Access-Control-Allow-Origin标头。因此,多值头。一旦我在Chrome插件上禁用了CORS按钮,标题就像预期的那样。
以上是关于如何使用Backbone和Node.js / Hapi防止CORB错误?的主要内容,如果未能解决你的问题,请参考以下文章
哪个数据库适合我的应用程序 mysql 或 mongodb ?使用 Node.js 、 Backbone 、 Now.js
在 Apache 或 IIS 中托管时将 Backbone.js 与 CouchDB 连接
Backbone.js、mongodb 和获取相关对象——客户端还是服务器端?
Node.js + express web应用如何打包部署?