1

我找不到这个问题的答案。

我正在尝试获取 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 中的“错误”,我没有收到任何有用的错误消息。

4

2 回答 2

0

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

查看 youtube api,我看到https://gdata.youtube.com/feeds/api/videos/返回成功的 url

于 2013-03-11T09:24:39.407 回答
0

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

解决方案是“temp 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);
        }
    });
}
于 2013-03-12T08:53:55.460 回答