PDA

Visualizza versione completa : [Ajax] - .status e Firefox 2


realtebo
14-02-2007, 17.07.00
Vi copio/incollo il mio frustrante esperimento, e vi chiederei come mai con FF 2.0, nonostante il file prova.txt sia correttamente posizionato nella stessa cartella E non si generino errori nel suo caricamento, come mai la proprietà STATUS dell'oggetto XMLHttpRequestObject risulti sempre 0, e quindi NON 200.

Il risultato è che il readyState cambia tranquillamente e fa 1,2,3 e infine 4, ma con status sempre 0 !

E' normale?

<html>
<head>
<title>Ajax at work</title>
<script language = "javascript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function getData(dataSource, divID){
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML += XMLHttpRequestObject.responseText;
} else {
obj.innerHTML += XMLHttpRequestObject.readyState + "<BR>" +
XMLHttpRequestObject.status + "<HR>" ;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>

<body>

<form>
<input type = "button" value = "Display Message"
onclick = 'getData("prova.txt", "targetDiv")'">
</form>

<div id="targetDiv">
<p>The fetched data will go here.</p>
</div>

</body>

</html>

P8257 WebMaster
15-02-2007, 17.16.25
Non la starai mica facendo girare in locale vero ? :D .. voglio dire .. senza un server web.. ?

realtebo
15-02-2007, 19.32.11
locale si, perché che differenza fa?

(e qui i miei punti di stupidità salgono alle stelle)

ora che ci penso è ovvio, scusatemi ... che scemo... l'ho messo online per provare e va tutto, con FF, con I)e da un errore stupido dopo l'else e non da spiegazioni.... mmmmmhh


è la 4.a volta che mi avvicino ad Ajax e ho sempre perso..

P8257 WebMaster
15-02-2007, 21.34.47
Esatto,
non puoi avere un codice di ritorno diverso da zero se la cosa gira in locale, perché è il server web che ti restituisce lo status.

Tranquillo, non sentirti stupido, se hai bisogno di supporto siamo qui ;)

realtebo
17-02-2007, 16.27.44
ok, grazie, ora passiamo al thread successivo, sempre Ajax, ma stavolta è quella rogna di Ie7 il colpevole ...