【问题标题】:Angularjs $http get fails, but request is succesful in postman and browserAngularjs $http 获取失败,但在邮递员和浏览器中请求成功
【发布时间】:2015-11-13 09:54:00
【问题描述】:

我正在尝试使用 AngularJS 通过 javascript 访问 Adob​​e TypeKit API。 在经过身份验证的请求上使用 $http.get(https://typekit.com/api/v1/json/kits?token=myToken) 失败,并出现错误: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

如果我使用 $http.jsonp(...) 未经身份验证的请求成功,这可能是由于 Adob​​e 的 CORS 政策,但如 typekit 文档中所述

出于安全原因,经过身份验证的 API 请求目前不可用于回调。

因此,使用 jsonp,我无法访问 API 提供的许多端点。 我不明白的是,如果我用邮递员或 chrome 本身执行它,那么在角度失败的相同请求会成功。我尝试将请求标头设置为与邮递员完全相同,但没有奏效。尝试了各种标题设置,但没有任何改变。 有什么想法吗?

【问题讨论】:

    标签: javascript angularjs api adobe typekit


    【解决方案1】:

    你能不能禁用 chrome 网络安全,然后试一试。要禁用网络安全,打开你的终端并输入以下 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web -security --allow-file-access-from-files --allow-file-access --user-data-dir=~/chrome-test/spec/runner.html

    【讨论】:

    • 我不知道为什么,我不知道如何,但是它可以工作,虽然我需要设置一个标题:{'X-Requested-With': 'XMLHttpRequest'}
    • 这是什么意思?以及如何在没有网络安全的情况下运行 chrome 来复制它?
    • 禁用网络安全时它工作正常吗?更多详细信息请参阅此问题stackoverflow.com/questions/20035101/…
    • 感谢您的参考,htat 唯一帮助我的是使用 cors.io,我会继续使用,但我仍在寻找更好的解决方案,因为我不太满意这个。
    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 2019-10-02
    • 2020-03-26
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    相关资源
    最近更新 更多