关于javascript:从网址获取JSON

Get JSON from an url

本问题已经有最佳答案,请猛点这里访问。

我想从网址获取一个json。 作为一个例子,我想得到这个网址的json:
http://csgobackpack.net/api/GetItemPrice/?currency=USD&id=AK-47%20|%20Wasteland%20Rebel%20(Battle-Scarred)&time=7

我现在如何在JavaScript中执行此操作!


如果您使用相同的域(即它是您的网站,并且您在同一个域下),那么您只需要进行如下的AJAX调用:

1
2
3
4
5
6
$.ajax({
    url: 'http://csgobackpack.net/api/GetItemPrice/?currency=USD&id=AK-47%20|%20Wasteland%20Rebel%20(Battle-Scarred)&time=7&callback=testCallback',
    success: function (data) {
        // Do whatever you want to do with the data here
    }
});

别忘了包含Jquery。

如果你在不同的领域(我认为这是你的情况)那么它有点复杂。

浏览器不允许您进行跨域AJAX调用,这意味着您不能这样做。

您需要配置代理。这意味着您需要创建一个获取数据的服务器(可能因为您的服务器没有浏览器限制),然后将其发送回给您。我不能给你一个例子,因为它取决于你将使用哪种编程语言服务器端。

如果您的服务器和脚本属于同一个域,那么您就可以开始了。如果您不使用相同的域,则需要为响应添加额外的标头:

1
Access-Control-Allow-Origin: *

这对于初学者来说并不那么简单,所以如果你正在努力做任何事情,不要惊慌失措并提出更多问题。


您可以使用AJAX使用GET方法调用该URL并将该数据转换为数组。如果您不在sam域中,请在服务器文件中包含其他标头(Access-Control-Allow-Origin:*)。


您需要对数据进行"GET"请求。

我建议采取以下步骤

  • 弄清楚如何将jquery合并到您的程序中。链接到CDN可能会有效
  • http://www.w3schools.com/jquery/jquery_get_started.asp

  • 阅读这些关于做"GET"请求的文档
  • https://api.jquery.com/jquery.get/

  • 了解回调以及如何在回复您时处理数据
  • How to Use jQuery’s $.ajax() for Asynchronous HTTP Requests

    如果这有用,请告诉我!