javascript - 使用 JQuery 的 Songkick API

标签 javascript jquery json api getjson

我在 Songkick API 上使用 JSON 收集数据时遇到问题。我真的是 jQuery 和 Javascript 的新手,所以如果这看起来很粗糙,请原谅我。我花了一些时间试图研究我需要的正确语法,但我只是一直回到第一个方 block 。

我想做的是使用 jQuery 发出请求,然后将结果添加到我的 HTML 列表中。任何人都可以给我的任何帮助都会很棒。

这是我目前所拥有的。

<script>
$.getJSON("http://api.songkick.com/api/3.0/artists/3950031/calendar.json?apikey={apikey}",
function(data){
var events = data['resultsPage']['results']['event'];
for (var i=0;i < events.length; i++) {


$("#events").append('<li><a
href="'+events[i]['uri'])+'">'+events[i]['displayName']+'</a></li>');
}

}); 

</script>

谢谢!

最佳答案

对不起,我花了这么长时间才回来,我在你昨晚回复的时候离开了办公室

这是我想出的:

  $(document).ready(function() {
  $.ajax({
  url:  "http://api.songkick.com/api/3.0/artists/480448/calendar.json?apikey=APIKEY&jsoncallback=?",
  dataType:   "jsonp", // <== JSON-P request
  success:    function(data){ 
    $.each(data["resultsPage"]["results"]["event"], function(i, entry){
        $("#events").append('<li><a href="' + entry.uri+'">'+entry.displayName +'</a></li>');
    });
  }     
  });
  });

我认为您遇到的问题是 JSON,JSON 受同源策略约束(我在此处阅读过($.getJSON not working)。相反,您必须使用 JSON-P 添加

   &jsoncallback=?

在 URL 的末尾告诉 Songkick 将其作为 JSON-P 请求发送。这是主要问题。

其他问题包括轻微的编码错误:在您的追加字符串中有一个额外的 (,我还使用 $.Each 作为 for 循环的同义词,但两者都可以工作,希望这对您有所帮助,您可能想取消您的 API 代码如果修复有效:)只需将 API key 更改为您的 key ,它应该没问题(我还将 band 更改为 chevelle,因为另一个没有条目)

关于javascript - 使用 JQuery 的 Songkick API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978141/

相关文章:

python - 如何将 JSON 数据转换为树形图像?

javascript - 在 Java 中映射 JSON 对象

javascript - 从数据库中解析JSON并显示在前端

javascript - 在 React 渲染中循环对象

javascript - 危险的滑动器,需要取消滑动到下一张幻灯片

javascript - 即使加载 jquery ui 库,$.ui 也是未定义的

php - 未定义索引 : usersJSON on line 6 []

javascript - 如何使用 jsdoc 注释注释 React.forwardRef 以便智能感知可以显示在底层组件中?

javascript - 如何从对象内部调用函数并在代码的其他部分重用该函数

javascript - 将对象从 JavaScript 中的函数添加到对象