1

我正在使用 ajax 从 youtube 视频中获取信息。有些视频包含地理定位,有些则没有。因此,当我请求 lat 和 long 并且它们未包含在视频中时,我收到错误:Uncaught TypeError: Cannot read property 'latitude' of undefined.

我的问题是如何修改我的 ajax 调用以处理存在地理位置和响应中不包含这两种情况的情况?

我的 ajax 调用如下所示:

  $.getJSON('http://gdata.youtube.com/feeds/api/videos/'+tubeVideoID+'?v=2&alt=jsonc',function(data,status,xhr){
    var thumbnail = data.data.thumbnail.sqDefault;
    var title = data.data.title;
    lat = data.data.geoCoordinates.latitude;
    lon = data.data.geoCoordinates.longitude;
  });
4

2 回答 2

1

你只需要测试undefined

 $.getJSON('http://gdata.youtube.com/feeds/api/videos/'+tubeVideoID+'?v=2&alt=jsonc',function(data,status,xhr){
    var thumbnail = data.data.thumbnail.sqDefault;
    var title = data.data.title;
    if(data.data.geoCoordinates != undefined) {
        lat = data.data.geoCoordinates.latitude;
        lon = data.data.geoCoordinates.longitude;
    }
  });
于 2013-10-21T08:28:07.263 回答
0

您只需测试 data.data.geoCoordinates !== undefined,希望这会有所帮助

于 2013-10-21T08:50:37.920 回答