Wordpress JQuery Ajax请求readyState始终为0

时间:2013-03-11 09:10:23

标签: jquery ajax wordpress youtube-api youtube-javascript-api

我无法找到这个问题的答案。

我正在尝试获取youtube视频标题(当然是Wordpress形式,但我想通过javascript来实现)。好吧,我的代码看起来像这样:

$.ajax({
    url: "http://youtube.com/get_video_info",
    data: {video_id : v_arr[i]},
    type: 'GET',
    complete: function(jqXHR, res){
        if(jqXHR.readyState === 4) {
            alert(res);
        }
        alert(jqXHR.statusText);
    }
});

问题:'完成'我总是得到readyState 0,除了statusText中的“错误”我没有得到任何有用的错误信息。

2 个答案:

答案 0 :(得分:0)

我尝试运行您提供的ajax,我收到了301重定向响应。

查看youtube api,我看到网址为https://gdata.youtube.com/feeds/api/videos/,返回成功

答案 1 :(得分:0)

我将网址更改为Circadian提供的内容。问题也与i变量有关。如你所见,这一切都发生在一个循环中。所以当完整的回调发生'我'已经有了循环中的最后一个值...所以当我访问v_arr [i]时,存在'未定义的索引'问题。

解决方案是“临时我”:

for(var i=0; i<v_arr.length; i++) {
    var temp_i = i;
    $.ajax({
        url: "https://gdata.youtube.com/feeds/api/videos/"+v_arr[temp_i],
        //data: {video_id : v_arr[temp_i]},
        type: 'GET',
        complete: function(jqXHR, res){
            if(jqXHR.readyState === 4) {
                alert(res);
            }
            alert(jqXHR.statusText);
        }
    });
}