【问题标题】:Angular, Cannot make an an API call probably because of CORS issueAngular,可能由于 CORS 问题而无法进行 API 调用
【发布时间】:2016-08-13 17:36:48
【问题描述】:

我正在尝试制作一个使用外汇 (forex) 市场 API 的 Angular 应用程序。

$http({
    method: 'GET',
    url: 'http://www.apilayer.net/api/live?access_key=[MY ACCESS KEY]'
}).then(function(response){
    console.log(response);  
})

当我查看浏览器控制台时,我不断收到以下错误。

预检响应中Access-Control-Allow-Headers 不允许请求标头字段Authorization

最奇怪的部分是它曾经可以正常工作 - 我能够毫无问题地从 API 调用中检索 JSON 信息,但它现在不能了。

有没有人可以指出一组可能的原因?将不胜感激!

【问题讨论】:

    标签: angularjs cors


    【解决方案1】:

    如果您没有更改代码中的任何内容(例如,api 的路径),那么它必须是以下两种情况之一:

    • 浏览器配置已更改
    • api提供者已阻止跨域请求,你应该联系他,也许他需要回调jsonp ajax请求

    【讨论】:

    • 感谢您的回答@Kobi 事实上,我尝试了 $http.jsonp,错误消息已经消失,但我得到了一个新消息:“Uncaught SyntaxError: Unexpected token。”我检查了相应的链接/行,发现错误是由JSON响应上的一行引起的。
    • Uncaught SyntaxError: Unexpected token is an syntex error in your code。检查您的代码语法。它与响应无关
    • Unexpected token 表示这一行:{"success":true,"terms":"https:\/\/currencylayer.com\/terms","privacy":"https:\/ \/currencylayer.com\/privacy","timestamp":1461182237,"source":"USD","quotes":{"USDAED":3.673103,"USDAFN":68.339996,"USDALL":121.709503,...这不是我的代码。我知道 Uncaught SyntaxError 通常是由我的代码引起的,但在这种情况下不是。该错误指示实际的 JSON 响应。是不是很奇怪。这个问题困扰了我 2 天。
    • Uncaught SyntaxError: Unexpected token :
    猜你喜欢
    • 2021-11-09
    • 2020-01-07
    • 2019-03-08
    • 2020-04-07
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 2019-05-28
    相关资源
    最近更新 更多