【问题标题】:JQUERY: Getting JSON Data from URLJQUERY:从 URL 获取 JSON 数据
【发布时间】:2019-01-01 05:07:46
【问题描述】:

我正在尝试使用$.getJSON() 从网站获取 JSON 数据。下面是我正在使用的代码

我试图从中获取 JSON 数据的网站是 this

link 查询数据时,这段代码运行良好, 但它不适用于第一个链接.. 这是为什么呢?

<script>
$.getJSON('https://whattomine.com/coins/4.json', function(data) {

    var text = `Rewards: ${data.estimated_rewards}`


    $(".mypanel").html(text);
});
</script>

【问题讨论】:

  • 你为什么不尝试控制 ${data.estimated_rewards}。看看你从那里得到什么
  • 和你的第一个链接打印有效的 json?
  • 查看这个 jsfiddle 演示问题。可以在控制台看到cors错误:jsfiddle.net/shawnoakley/L59pn8u6/10

标签: javascript jquery json get getjson


【解决方案1】:

我假设您没有从https://whattomine.com/ 向该站点发出此请求。除非请求站点和源站点相同,否则根据CORS policy,您不能向任何具有No 'Access-Control-Allow-Origin' header is present on the requested resource. 的站点发出XMLHttpRequest

请检查您的浏览器控制台,那里应该有关于它的错误通知。

【讨论】:

  • 这是一个演示上述内容的 jsfiddle。如前所述,看起来有一个cors问题。 jsfiddle.net/shawnoakley/L59pn8u6/10
  • 感谢 Tamim 和 Shawn。
  • 能否请您指出正确的方向,因为我可以成功地从上述网站获取 JSON 数据?谢谢
  • 您的网页使用哪种后端编程语言?例如(PHP/Ruby/ASP)? @안지상
  • 我的目标是获取“estimated_rewards”数据并编写一个脚本,将数据输入谷歌电子表格。我不知道会这么难:(我只是想自动化一个流程,但似乎比预期的要多得多
【解决方案2】:

跨域请求总是被禁止的,这是所有浏览器的安全策略。

或者你必须让网站返回一个允许 cross-origin 请求的标头:

'访问控制允许来源'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2014-05-28
    相关资源
    最近更新 更多