getJSON错误 - 不确定我哪里出错了

时间:2012-04-28 21:03:57

标签: javascript json jquery

在其他一些堆栈用户的帮助下,我想出了这个:

http://jsfiddle.net/9ywLq/

我想使用外部json文件&想出类似的东西:

http://jsfiddle.net/RCB9M/

我目前链接的文件是:http://www.lofiz.co.uk/afba/songkickwidget/testjsondata.json但这最终将更改为Songkick JSON输出。

1 个答案:

答案 0 :(得分:2)

您是same-origin policy的受害者。出于安全原因,浏览器默认会阻止跨域提取的JSON。如果您需要跨域获取数据,则必须实现服务器端代理,或者如果数据也以该格式提供,则使用JSONP。如果来源没有在JSONP中提供数据,我相信您可以使用YQL进行转换。

JSONP上的资源:http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

更新:您的网址将被调用如下:

​$(function(){
  var url = "https://api.songkick.com/api/3.0/artists/253846/calendar.json?apikey=HlgKnFaq9qYO1h9T&jsoncallback=?";
  $.getJSON(url, function(data){
    // Do what you want to do with the return data within this callback
    console.log(data);        
  });
});​

更新2:

我已更新您的JSFiddle以使用getJSON()。我也冒昧地做了一些其他的改变:

  1. 我修改了你定义月份名称数组的方式,使其更具可读性。
  2. JavaScript中的
  3. .getDay()用于返回星期几(0 =星期日,1 =星期一等等),因为我相信你想要一个月中的某一天,你应该使用{{1}而是。见我的JSFiddle。