Javascript 遵循XMLHttpRequest中的重定向(302)

Javascript 遵循XMLHttpRequest中的重定向(302),javascript,google-drive-api,xmlhttprequest,Javascript,Google Drive Api,Xmlhttprequest,使用Firefox我试图使用XMLHttpRequest从googledrive下载一些数据。在调试控制台中,它给了我[302临时移动],而我收到的数据是空的。如何让XMLHttpRequest跟踪重定向响应?如果https改变了一些东西,我也会使用https。基本上,您可以使用xhr.getResponseHeader(“位置”)获取位置。在这种情况下,您可以使用相同的参数将另一个XMLHttpRequest发送到此位置: function ajax(url /* ,params */, ca

使用
Firefox
我试图使用
XMLHttpRequest
googledrive
下载一些数据。在调试控制台中,它给了我
[302临时移动]
,而我收到的数据是空的。如何让
XMLHttpRequest
跟踪重定向响应?如果https改变了一些东西,我也会使用https。

基本上,您可以使用
xhr.getResponseHeader(“位置”)
获取位置。在这种情况下,您可以使用相同的参数将另一个
XMLHttpRequest
发送到此位置:

function ajax(url /* ,params */, callback) {
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
      // return if not ready state 4
      if (this.readyState !== 4) {
        return;
      }

      // check for redirect
      if (this.status === 302 /* or may any other redirect? */) {
        var location = this.getResponseHeader("Location");
        return ajax.call(this, location /*params*/, callback);
      } 

      // return data
      var data = JSON.parse(this.responseText);
      callback(data);
  };
  xmlhttp.open("GET", url, true);
  xmlhttp.send();
}

XMLHttpRequest将自动跟随重定向。您正在尝试检索哪些数据?可能有一个答案,以防它的CORS请求小心,你可能需要CORS的重定向和网页重定向到(与重定向一样,POST的,它可能根本不工作,请参阅其他评论链接的答案)。