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, время: 01:35. |