2013-03-11 2 views
1

Я не могу найти ответ на эту проблему.Wordpress JQuery Ajax request readyState всегда 0

Я пытаюсь получить название видео 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 и для «ошибки» в его статуса, за исключением я не получаю сообщение об ошибке полезно.

ответ

0

Я изменил URL в то, что циркадного предусмотрено. Проблема была также с переменной i. Как вы видите, все это происходит внутри цикла. Поэтому, когда полный обратный вызов произошел, «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); 
     } 
    }); 
} 
0

Я попытался запустить ajax, который вы предоставили, и получил 301 ответ перенаправления.

Глядя на API YouTube я вижу URL быть https://gdata.youtube.com/feeds/api/videos/, который возвращает SUCCESS

Смежные вопросы