为什么有时我不能通过使用$ .getJSON函数获取数据?

时间:2012-11-08 11:22:07

标签: jquery json get null getjson

我现在正在使用Youtube API,有时data is null,我不知道为什么......

function get_youtube_info(youtubeID) {
    $.getJSON("http://gdata.youtube.com/feeds/api/videos/"+youtubeID+"?v=2&prettyprint=true&alt=jsonc", function(json){
            if (json.data.accessControl.embed == "allowed") {
                //do something...
            }
    });
}

我可以使用$.ajax$.get$.post还是什么?

2 个答案:

答案 0 :(得分:2)

听起来像youtube期待你缓存你的回复,因此304尝试

$.ajax({
 url:'http://gdata.youtube.com/feeds/api/videos/'+youtubeID+'?v=2&prettyprint=true&alt=jsonc',
 cache:false,
 dataType:'json',
 type:'GET',
 success: function(json){
            if (json.data.accessControl.embed == "allowed") {
            //do something...
        }
        if (json.data.accessControl.embed == "denied") {
            alert("not allow to embed");
          }
    },
 error: function() {alert("not found video");}
});

答案 1 :(得分:0)

function get_youtube_info(youtubeID) {
    $.getJSON("http://gdata.youtube.com/feeds/api/videos/"+youtubeID+"?v=2&prettyprint=true&alt=jsonc&myversion="+Math.floor(Math.random()*1000000)+"",function(json){
            if (json.data.accessControl.embed == "allowed") {
                //do something...
            }
            if (json.data.accessControl.embed == "denied") {
        alert("not allow to embed");
        }
    }).error(function(json) {
        alert("not found video");
    });
}

现在我将使用这样的方法,将一些随机数添加到新参数中以获取嵌入的“允许”或“拒绝”等json数据