Ecco un XMLHttpRequest esempio che ho messo insieme da w3schoolsXMLHttpRequest asincrono non funziona, restituisce sempre stato 0
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var T="nothing";
xmlhttp=new XMLHttpRequest();
xmlhttp.overrideMimeType('text/plain'); // don't sc
xmlhttp.onreadystatechange=function()
{
alert ("rdystate: " + xmlhttp.readyState);
alert ("status: " + xmlhttp.status);
alert ("Text: " + xmlhttp.statusText);
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
T = xmlhttp.responseText;
}
}
xmlhttp.open("GET","SBL_PROBES.htm",true);
xmlhttp.send(null);
//T = xmlhttp.responseText;
alert(T);
}
</script>
</head>
<body>
<h2>Using the XMLHttpRequest object</h2>
<div id="myDiv"></div>
<button type="button" onclick="loadXMLDoc()">CHange Content</button>
</body>
</html>
XMLHttpRequest restituisce sempre uno stato pari a zero.
Nulla si presenta nella console degli errori di Firefox.
Se cambio la richiesta a uno sincrona cambiando la riga
xmlhttp.open("GET","SBL_PROBES.htm",true);
a
xmlhttp.open("GET","SBL_PROBES.htm",false);
e non-commento della linea
//T = xmlhttp.responseText;
Il testo del file richiesto viene restituito.
L'HTM e il file si trovano nella stessa directory. Se lo provi avrai bisogno anche di un file SBL_PROBES.htm, i contenuti sono irrilevanti.
Sto usando Firefox 3.6.22.
Potrebbe trattarsi di un problema interdominio? Se è così, perché funziona come una richiesta sincrona?
Conferma che si sono sicuramente eseguendo questa pagina da un server Web, e non dal file system del computer locale. cioè, quando visiti la pagina di test nel tuo browser, vedi l'url che inizia con http e non con il file. – James
Le mie scuse a tutti per averti disturbato con questo. Il mio problema era infatti che non stavo correndo attraverso il server ma come un file. In qualche modo, ho capito che perché avevo un file .htm stavo passando attraverso il server. Ho accettato la risposta del malvagio perché aveva la perseveranza di continuare a chiedermelo fino a quando non è penetrato nel mio grosso cranio :-) –
https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest Dai un'occhiata a "XMLHttpRequests che viene fermato" sezione. Sembra un errore UNSENT. –