jquery如何处理ajax调用中的缺失字段

时间:2013-10-21 08:26:25

标签: jquery ajax youtube-api

我正在使用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;
  });

2 个答案:

答案 0 :(得分: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;
    }
  });

答案 1 :(得分:0)

你只是测试data.data.geoCoordinates!== undefined,希望这有帮助