这可能是一个非常容易解决的问题,但我无法让它发挥作用。我正试图从歌曲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?")
}
});
});
答案 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
});
希望这有帮助!