【问题标题】:JSON-P request to URL does not work?对 URL 的 JSON-P 请求不起作用?
【发布时间】:2014-01-07 09:31:34
【问题描述】:

我已经尝试让它工作了大约三个小时。环顾四周,实际上看遍了所有地方,我尝试了人们展示的所有示例,但都没有奏效。这真的开始困扰我了。我想要完成的是调用包含所有比特币数据的比特币图表 JSON 文件。我正在建立一个网上商店,并希望在用户加载页面时价格准确。

这是我调用 $.getJSON() 函数的代码的 sn-p:

function JSONCall() {
    var url = "http://api.bitcoincharts.com/v1/weighted_prices.json";
    $.getJSON(url + "?callback=?", Update);
}
function Update(data) {
    //there will be code here to change the HTML on my site, but for now, this works to test
    console.log(data);
}

我遇到的当前错误是:

Resource interpreted as Script but transferred with MIME type text/html: "http://api.bitcoincharts.com/v1/weighted_prices.json?callback=jQuery19100276493770070374_1387411109377&_=1387411109490". jquery-1.9.1.js:8336
Uncaught SyntaxError: Unexpected token :

我这辈子都无法让它发挥作用。根据我到目前为止所看到的一切,我的代码看起来不错。如果有人比我更了解这一点并且愿意提供帮助,那就太好了!提前致谢。

【问题讨论】:

  • 出于安全原因,您正在发出不允许的跨域请求。有办法解决它。你不能让你的服务来获取这些信息吗?

标签: javascript jquery html jsonp


【解决方案1】:

我检查了 URL,它没有返回 JSONP,只返回纯 JSON。

你需要找到另一种方法,想到一些选项:

  • 如果服务支持,请执行 CORS 请求(跨域)
  • 通过服务器端代理运行
  • 查看服务是否以其他方式支持 JSONP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    相关资源
    最近更新 更多