Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示jquery GET的JSON结果时出现问题_Javascript_Jquery_Json - Fatal编程技术网

Javascript 显示jquery GET的JSON结果时出现问题

Javascript 显示jquery GET的JSON结果时出现问题,javascript,jquery,json,Javascript,Jquery,Json,我不熟悉Javascript、JQuery和JSON,所以我可能会犯很多不同的错误,但我总是发现最好的学习方法就是直接参与进来 我正在做一个小宠物项目,主要是为了练习,使用网站elophant.com上提供的API。它是用来追踪流行的传奇联盟游戏的统计数据的。然而,我似乎无法让任何jquery正常工作。以下是我尝试访问的资源的API: 他们的示例请求是:“GET”字段是您注册到站点后他们提供给您的密钥。它返回JSON格式的信息 以下是我目前正在尝试做的事情: <body> &

我不熟悉Javascript、JQuery和JSON,所以我可能会犯很多不同的错误,但我总是发现最好的学习方法就是直接参与进来

我正在做一个小宠物项目,主要是为了练习,使用网站elophant.com上提供的API。它是用来追踪流行的传奇联盟游戏的统计数据的。然而,我似乎无法让任何jquery正常工作。以下是我尝试访问的资源的API:

他们的示例请求是:“GET字段是您注册到站点后他们提供给您的密钥。它返回JSON格式的信息

以下是我目前正在尝试做的事情:

<body>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

    <script>
    $.get("http://elophant.com/api/v1/status?key=MY_KEY_HERE", {callback : "?" }, "jsonp",  function(data) {
    $('#summary').text(data.result);
    });
    </script>
</body>

看起来,至少您的参数顺序是错误的。数据类型必须位于回调函数之后,如下所示:

$.get("http://elophant.com/api/v1/status?key=MY_KEY_HERE", {callback : "?" },  function(data) {
    $('#summary').text(data.result);
}, "jsonp");
callback({key: "value", anotherKey: "another value"})
在那个些API文档中,我也并没有看到任何东西表明它支持在JSONP回调函数中包装JSON。你确定这有空吗

您可以通过验证您得到的响应是否是JSON包装在函数中来测试这一点。可能看起来像这样:

$.get("http://elophant.com/api/v1/status?key=MY_KEY_HERE", {callback : "?" },  function(data) {
    $('#summary').text(data.result);
}, "jsonp");
callback({key: "value", anotherKey: "another value"})

还有一个$.getJSON函数也可以与jsonp一起使用。请检查控制台是否有错误(在浏览器中按F12)@Rorymcrossan我在控制台中没有看到错误。这是否意味着它成功了,但我只是没有正确地访问数据?不,我没有。我的印象是JSONP用于外部URL,JSON用于本地URL。@Joshua这是正确的,但问题是您调用的服务器必须在其API中支持JSONP,这样它才能将JSON包装到函数中。有没有办法“强制”JSONP?我得到一个没有jsonp类型的错误。API是为外部使用而设计的,所以我必须相信有一种方法可以做到这一点。@Joshua仅仅因为API是为外部使用而设计的,并不意味着它是为通过javascript/AJAX外部使用而设计的。老实说,大多数API都不提供这种支持,因为大多数API用于服务器到服务器的调用,而不是跨域浏览器客户端调用。您应该与API提供商联系,看看他们是否提供JSONP支持,或者您需要想出一些其他的方法来实现这一点,比如在您的服务器上有一个用AJAX调用的脚本,然后它以服务器到服务器的方式调用这个API(可能中间有某种缓存)。我将研究其他方法。我想我只是认为javascript是正确的路线。谢谢你的帮助!