【问题标题】:jquery how to handle missing fields in ajax calljquery如何处理ajax调用中的缺失字段
【发布时间】:2013-10-21 08:26:24
【问题描述】:

我正在使用 ajax 从 youtube 视频中获取信息。 有些视频包含地理定位,有些则不包含。 因此,当我请求纬度和经度并且它们未包含在视频中时,我收到错误: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;
  });

【问题讨论】:

    标签: jquery ajax youtube-api


    【解决方案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;
        }
      });
    

    【讨论】:

      【解决方案2】:

      您只是测试 data.data.geoCoordinates !== undefined,希望对您有所帮助

      【讨论】:

        猜你喜欢
        • 2014-12-21
        • 2011-03-23
        • 2017-09-29
        • 1970-01-01
        • 2015-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多