从songkick api - noob获取艺术家日历

时间:2013-10-16 23:54:20

标签: javascript api

这可能是一个非常容易解决的问题,但我无法让它发挥作用。我正试图从歌曲api中获取艺术家日历。每次运行代码时都会使用event.preventDefault()代替。并且我没有'Access-Control-Allow-Origin'标头出现在请求的资源上。因此不允许原点'null'访问。我真的不知道这是什么意思。任何人都可以帮助我吗?

由于

$(document).ready(function () {
  $("#search").on("click", function () {
    $("div").html("");
    var artist = $("#name").val();
    if (artist) {
      $.get("http://api.songkick.com/api/3.0/events.json?artist_name=" + artist +"&apikey=myKey", function (data) {
    var concertResults = data.resultsPage.results.event;
    for (var i = concertResults.length - 1; i >= 0; i--) {
    if (concertResults[i].uri) {
      $("#container").append("<div>" + concertResults[i].uri + "</div>");
     }
     }
      });
    } else {
      alert("You can't even get your favorite artist name right?")
    }
  });
});

1 个答案:

答案 0 :(得分:1)

要使用带有Javascript的Songkick API,您需要使用名为JSON-P(http://json-p.org/)的东西

它看起来像这样:

$.getJSON("URL_TO_API&jsoncallback=?",
  function(data){
    // data is JSON response object
});

在您的示例中,它将是:

$.get("http://api.songkick.com/api/3.0/events.json?artist_name=" + artist +"&apikey=myKey&jsoncallback=?",
  function(data){
     var concertResults = data.resultsPage.results.event;
     for (var i = concertResults.length - 1; i >= 0; i--) {
         ... // same as it is now
});

希望这有帮助!