【发布时间】:2015-08-27 08:02:21
【问题描述】:
所以,之前从 URL 解析 JSON 的问题已经解决,并且工作正常。现在我正在尝试从不同的 URL 获取 JSON,但它似乎不再起作用了。
我尝试了使上一个 URL 工作的方式,但它不适用于这个。这是我的代码:
HTML
<html>
<head>
<meta charset="utf-8">
<title>Get JSON from URL - Test</title>
<script src="http://code.jquery.com/jquery-2.1.1-rc2.js"></script>
</head>
<body>
<p id="testjson"></p>
</body>
</html>
JavaScript
var scmAPI = "http://steamcommunity.com/market/priceoverview/?currency=3&appid=440&market_hash_name=Strange%20Australium%20Grenade%20Launcher";
$.getJSON(scmAPI, function(json) {
document.getElementById("testjson").innerHTML = "Price: " + json.lowest_price;
});
http://codepen.io/anon/pen/PPYzOR
提前致谢。 :)
【问题讨论】:
-
由于Same Origin Policy,JavaScript 无法向第三方域发出请求,除非请求接收者支持 JSONP 或 CORS。如果不是,您可能需要使用服务器端代理来为您发出请求
-
如前所述here API 不支持 JSONP,这意味着您必须从服务器获取数据才能为您获取数据。
-
那么.. 那我应该用什么来获取数据呢?
-
你在后端使用什么样的服务器?
-
如果您使用的是带有 PHP 的 Apache 服务器,您可以通过对 api 的 CURL 请求创建一个自托管文件,然后将此处的数据返回给您的 JavaScript。它之所以有效,是因为您从技术上讲是通过同一服务器(存储您的其他 html/js 的地方)获取数据。
标签: javascript jquery html json parsing