3

这一直困扰着我一段时间。我正在尝试使用 getJSON 从我的谷歌日历提要中获取事件标题,并最终使用 JSONparse 回调对其进行解析。不幸的是我不能让它工作。我到处都遇到了一堆解决方案,但实际上不是我想要的。如果我使用google js api,我可以让它工作,但我尝试使用纯jquery。

这是我所拥有的

var eventName = '';
var gclaData = 'https://www.google.com/calendar/feeds/********%40gmail.com/public/full?orderby=starttime&sortorder=ascending&max-results=3&futureevents=true&alt=json';

$.getJSON(gclaData,function(data){
        for(var i=0; i<=data.length; i++){
            eventName += JSON.parse(data[i].entry.title.$t)+"<br>";
        }
        $('#outputTitle').append(eventName);
    });

});
</script>
<div id="outputTitle"></div>

这是我的小提琴

4

1 回答 1

2

我不明白你在做什么,首先 for 是错误的,因为它没有任何长度的数据对象,feed 字段是一个数组,所以你应该这样做:

data.feed.entry[i].title.$t

其次,$t 值是一个字符串,因此您不能将其传递给 JSON.Parse,或者您可以但它毫无价值。

也许您正在寻找的最终代码:

var eventName = '';
var gclaData = 'https://www.google.com/calendar/feeds/somugus%40gmail.com/public/full?orderby=starttime&sortorder=ascending&max-results=3&futureevents=true&alt=json';

$.getJSON(gclaData,function(data){
  for(var i = 0; i < data.feed.entry.length; i++){
     eventName += data.feed.entry[i].title.$t+"</br>";
  }
  $('#outputTitle').append(eventName);
});
于 2013-07-06T16:46:28.387 回答