我在Stack Overflow上已经看到了很多这个问题而没有解释它的meaning
。有人可以解释这个错误究竟意味着什么吗?
Request header field Authentication is not allowed by Access-Control-Allow-Headers.
我的申请中出现了一个奇怪的错误。
如果你打开 http://verse-pack.herokuapp.com/#/pack并点击搜索我收到上述错误。
但是,如果从搜索路径刷新页面(即http://verse-pack.herokuapp.com/#/search),则不会发生错误。任何帮助理解问题或帮助我克服这个问题将不胜感激!谢谢。
我目前正在使用Node.js,Express.js和Angular.js Stack。
以下是导致错误的代码(API Key已被切换)
$http.get("http://api.biblia.com/v1/bible/contents/LEB?key=abc123", {headers: {'Authentication': '*'}}).success(function(data) {
console.log("What");
$scope.tof = data;
});
答案 0 :(得分:1)
您正在尝试执行跨域脚本编写,这在大多数(如果不是全部)浏览器中都被禁用,因为它存在安全问题。
解决方法是在服务器上启用CORS(或jsonp),以便您可以进行这些跨域调用。另请注意,这可能会导致安全问题。 (他们没有理由在浏览器中禁用这些请求)
答案 1 :(得分:1)
您正在从不同的域名中调用“http://api.biblia.com/v1/bible/contents/LEB?key=777f34839f61b2c1097db13992d4cabc”。这将导致跨域问题。您需要使用JSONP请求或要求“biblia.com”接受跨域请求。我建议使用“JSONP”。