2012-02-27 1 views
1

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

Причина, по которой мне нужно, чтобы это работало, потому что это гаджет 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 будет непрерывно стреляя события один раз изменения состояния!. Fire one для HTTP 301, а другой для HTTP 200.

+0

Как о [междоменном запросе (XDR)] (http://msdn.microsoft.com/en-us/library/dd573303 (v = vs.85) .aspx) – Bakudan

ответ

1

Приобретая статью Microsoft, междоменные переадресации в MsXML запрещены. Возможно, это возможно.