Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Msxml2.XMLHTTP.6.0和HTTP 301永久移动重定向_Javascript_Ajax_Xmlhttprequest_Msxml - Fatal编程技术网

Javascript Msxml2.XMLHTTP.6.0和HTTP 301永久移动重定向

Javascript Msxml2.XMLHTTP.6.0和HTTP 301永久移动重定向,javascript,ajax,xmlhttprequest,msxml,Javascript,Ajax,Xmlhttprequest,Msxml,我听说MsXML2遵循重定向。但是,当访问已移动的URL时,我从脚本中得到一个“HTTP 0”错误 我之所以需要让它工作,是因为这是一个由30万用户使用的Windows(边栏)小工具。我正在移动这个网站,希望所有关于旧版本的呼吁都能通过 这是简化的代码: function MyHttpCall() { var httpReq = new ActiveXObject("Msxml2.XMLHTTP.6.0"); httpReq.onreadystatechange = function()

我听说MsXML2遵循重定向。但是,当访问已移动的URL时,我从脚本中得到一个“HTTP 0”错误

我之所以需要让它工作,是因为这是一个由30万用户使用的Windows(边栏)小工具。我正在移动这个网站,希望所有关于旧版本的呼吁都能通过

这是简化的代码:

function MyHttpCall() {
  var httpReq = new ActiveXObject("Msxml2.XMLHTTP.6.0");
  httpReq.onreadystatechange = function() {
    if (httpReq.readyState < 4) return;
    if (httpReq.status != 200) alert("HTTP " + httpReq.status);

    alert ("Houston we have contact");
  }

  httpReq.open("GET", myURL, true);
  httpReq.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
  httpReq.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
  httpReq.setRequestHeader("Pragma", "no-cache");
  httpReq.setRequestHeader("If-Modified-Since", "Tue, 01 Jan 2008 00:00:00 GMT");
  httpReq.send();
}
函数MyHttpCall(){
var httpReq=新的ActiveXObject(“Msxml2.XMLHTTP.6.0”);
httpReq.onreadystatechange=函数(){
如果(httpReq.readyState<4)返回;
如果(httpReq.status!=200)警报(“HTTP”+httpReq.status);
警报(“休斯顿,我们有联系”);
}
httpReq.open(“GET”,myURL,true);
setRequestHeader(“缓存控制”,“无存储,无缓存,必须重新验证”);
setRequestHeader(“缓存控制”,“后检查=0,前检查=0”);
setRequestHeader(“Pragma”,“无缓存”);
httpReq.setRequestHeader(“如果自”“2008年1月1日星期二00:00:00 GMT”“起修改”);
httpReq.send();
}

我想这与httpReq.status有关!=200,但我认为readystatechange会在状态更改后持续触发事件。一个用于HTTP 301,另一个用于HTTP 200。

根据Microsoft的一篇文章,MsXML中不允许跨域重定向。这很可能是事实。

根据Microsoft的一篇文章,MsXML中不允许跨域重定向。很可能是这样。

怎么样