【问题标题】:No 'Access-Control-Allow-Origin' header issue with hapijshapijs 没有“Access-Control-Allow-Origin”标头问题
【发布时间】:2015-12-28 02:59:23
【问题描述】:

您好,我的 Facebook 应用有问题。当我在身份验证后启动它时,它给了我这个错误:

XMLHttpRequest 无法加载 http://localhost:8000/informations。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问 Origin 'http://localhost:8080'。 :8080/carRandomizer:1

XMLHttpRequest 无法加载 http://localhost:8000/rand。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:8080' 因此不允许访问。

所以我知道这是一个 CORS 问题,我已经尝试关注官方文档 http://hapijs.com/api#serverrouteoptions,现在我在 server.js 文件中设置了这个:

server.connection({ 端口:process.env.PORT, 路线:{ cors: 真的 } });

现在我有同样的错误:

XMLHttpRequest 无法加载 https://www.facebook.com/v2.3/dialog/oauth?client_id=1463042613952341&respo…k&state=URaCt6cXqf_JzJYgS9KlwM&scope=public_profile%2Cuser_friends%2Cemail。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。 angular.js:12330(匿名函数)@angular.js:12330(匿名函数)@app.js:817(匿名函数)@angular.js:14567a.$get.n.$eval@angular.js:15846a。 $get.n.$digest @ angular.js:15657a.$get.n.$apply @ angular.js:15951l @ angular.js:10364F @ angular.js:10536e @ angular.js:10487 :8080/carRandomizer:1 XMLHttpRequest 无法加载 https://www.facebook.com/v2.3/dialog/oauth?client_id=1463042613952341&respo…k&state=j-vSbeB6rGvEi_cgu-9TrM&scope=public_profile%2Cuser_friends%2Cemail。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问 Origin 'null'。

最后我也尝试为

http://localhost:8000/rand

响应标头 this 但没有任何变化。

【问题讨论】:

  • 我也有同样的问题。你能解决吗?
  • @Alex 还没有抱歉。
  • 我的问题在尝试了一些变化后消失了 - 但最终得到完全相同的代码!!!???我喜欢奇迹

标签: angularjs node.js facebook cors hapijs


【解决方案1】:

尝试在路由配置中指定origin: ['*']

server.connection({ port: process.env.PORT, routes: { cors: { origin: ['*'] } } });

看起来 hapi 没有选择您的连接选项。

【讨论】:

  • 谢谢你,但它不起作用,我有同样的错误。
【解决方案2】:

您的服务器端可能有一个包含所有域的白名单 也许您需要将您的域添加到服务器端 cors 的白名单中。 谢谢。

【讨论】:

    猜你喜欢
    • 2016-01-21
    • 1970-01-01
    • 2023-02-14
    • 2017-09-19
    • 2015-04-02
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多