0

这可能是一件很容易解决的事情,但我无法让它发挥作用。我正在尝试从歌曲 kick api 中获取艺术家日历。每次我运行代码时都说要使用 event.preventDefault() 。而且我在请求的资源上没有“Access-Control-Allow-Origin”标头。因此,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?")
    }
  });
});
4

1 回答 1

1

为了将 Songkick API 与 Javascript 一起使用,您需要使用称为 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
});

希望这可以帮助!

于 2013-10-28T15:32:02.213 回答