XMLHttpRequest
подскажите пожалуйста почему статус не меняется
var xmlhttp
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); }
var state = false, last = (new Date().getTime() + 1000)
while( last >= new Date().getTime() )
{
switch(xmlhttp.readyState)
{ case 0: xmlhttp.open('POST', '/', true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
document.body.innerHTML += '1';
break;
case 1: if(xmlhttp.readyState == 1 && state) { xmlhttp.send("mod=" + encodeURIComponent(send ) ); state = true; }
else { document.body.innerHTML += ' . '; }
// здесь происходит повторное отправление xmlhttp.send()
break;
case 2: document.body.innerHTML += xmlhttp.readyState; break;
case 3: document.body.innerHTML += '-.-'; break;
case 4: document.body.innerHTML = xmlhttp.response; return;
}
}
|
тут люди есть вообще?
если кто не интересуется код по понятнее
var last = (new Date().getTime() + 1000), lasState;
while( last >= new Date().getTime() )
{
document.body.innerHTML += ' <br>' + xmlhttp.readyState
if(lasState != xmlhttp.readyState)
{
if(xmlhttp.readyState == 0)
{ xmlhttp.open('POST', '/', true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
}
if(xmlhttp.readyState == 1) { xmlhttp.send("mod=" + encodeURIComponent( 'send' ) ); }
if(xmlhttp.readyState == 2) { }
if(xmlhttp.readyState == 3) { }
if(xmlhttp.readyState == 4) { }
if(lasState != xmlhttp.readyState) { lasState = xmlhttp.readyState; }
}
}
|
Мне кажется совсем неправильно в цикле проверять readyState.
Для этого есть onreadystatechange |
Цитата:
|
может кто знает исходник onreadystatechange где поглядеть хоть
|
Conus, а зачем вам исходник XMLHttpRequest?
Описание метода onreadystatechange: https://developer.mozilla.org/ru/doc...adystatechange |
| Часовой пояс GMT +3, время: 11:20. |