【问题标题】:Issue with fetching data from a web api从 Web api 获取数据的问题
【发布时间】:2019-03-05 19:15:20
【问题描述】:

所以我开始看一个关于如何从 web api 获取数据的教程,而讲师写的第一行代码就是这个。

fetch('https://www.metaweather.com/api/location/2487956/')

然后他解释说,由于相同的来源政策,您无法从不属于您的网站获取数据,并使用了使用 crossorigin.me 网站的解决方法。它在视频中对他有用,但对我不起作用,而且总是给我这个错误:

跨域请求被阻止:同源策略不允许读取位于https://www.metaweather.com/api/location/2487956/ 的远程资源。 (原因:缺少 CORS 标头“Access-Control-Allow-Origin”)

我一直在寻找一个多小时,但我找不到单一的解决方案。如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 如果他们不设置 COR 标头,您将无法访问它。 developer.mozilla.org/en-US/docs/Web/Security/…
  • 访问它的唯一方法是服务器端。如果他们没有 cors-headers,您将无法直接从您的网站访问其他网站的数据。

标签: javascript ajax api same-origin-policy


【解决方案1】:

或者你可以使用 chrome 的 cors 插件并使用它

【讨论】:

    【解决方案2】:

    根据您的问题,使用 fetch() 意味着您正在使用 javascript 或其中一个框架,如果我可能会问,您使用哪种方法作为您的请求方法:POST 或 GET?

    【讨论】:

    • 很抱歉,但我认为我在当前正在观看的讲座中并没有那么深入,所以编写的唯一代码行是 fetch 函数,是的,我是使用 javascript。
    • 感谢您检查我的问题,我使用了扩展程序并且它有效!
    猜你喜欢
    • 1970-01-01
    • 2020-02-04
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多