【问题标题】:Wordpress JQuery Ajax request readyState always 0Wordpress JQuery Ajax 请求 readyState 总是 0
【发布时间】:2013-02-26 09:38:20
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    查看 youtube api,我看到 URL 是 https://gdata.youtube.com/feeds/api/videos/,它返回成功

    【讨论】:

      【解决方案2】:

      我将网址更改为 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);
              }
          });
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-29
        • 2013-10-24
        • 2018-12-24
        • 2015-05-24
        • 1970-01-01
        • 2014-09-10
        • 2011-10-24
        • 1970-01-01
        相关资源
        最近更新 更多