Msxml2.XMLHTTP.6.0 и HTTP 301 перемещены постоянно перенаправляет - PullRequest
1 голос
/ 27 февраля 2012

Мне сказали, что MsXML2 следует перенаправлениям.Однако я получаю сообщение об ошибке «HTTP 0» из сценария при доступе к перемещенному URL-адресу.

Причина, по которой мне нужно, чтобы это работало, заключается в том, что это гаджет Windows (боковая панель), используемый 300 000 пользователей.И я перемещаю веб-сайт и хочу, чтобы все вызовы для старых версий все еще проходили.

Это упрощенный код:

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();
}

Я предполагаю, что это связано с httpReq.status! = 200, но я думал, что readystatechange постоянно запускает события, когда состояние меняется.Запустите один для HTTP 301, а другой для HTTP 200.

1 Ответ

1 голос
/ 03 марта 2012

Согласно статье Microsoft, междоменные перенаправления не разрешены в MsXML. Скорее всего, это так.

...