XMLHttpRequest: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: niente spazi dopo l'apostrofo |
m cambio apici in corsivo Etichetta: Annulla |
||
Riga 100:
req.open( "GET", "xmlprovider.php?sid=" + Math.random());
È importante notare che le tecniche mostrate dovrebbero essere utilizzate
=== Problemi con caratteri non ASCII ===
Se la risposta del server non è in formato XML, il ''responseText'' potrebbe non funzionare correttamente mentre si utilizzano i caratteri non-[[ASCII]], per esempio le lettere accentate come «è». Mentre Firefox gestisce correttamente questi dati e visualizza il carattere incriminato, Internet Explorer lo gestirà correttamente alla prima richiesta (anche se potrebbero esserci dei problemi). Se la richiesta viene ripetuta ed il browser di Microsoft utilizza un risultato memorizzato in cache, allora genererà un errore JavaScript.
L'utilizzo di risposte XML e del metodo ''responseXML'' permette di far funzionare tutto correttamente con qualsiasi carattere [[UTF-8]].
In alternativa il problema può essere risolto settando il charset adeguato nella pagina a cui viene effettuata la richiesta, in modo che il testo di risposta sia prodotto nella giusta codifica fin dall'inizio.
=== Riutilizzare l'oggetto XMLHttpRequest in IE ===
In Internet Explorer, se il metodo open viene chiamato dopo aver associato la callback onreadystatechange, ci sarà un problema nel riutilizzo dell'oggetto XHR. Per essere in grado di riutilizzare correttamente l'oggetto XHR, utilizzare il metodo open prima e impostare onreadystatechange dopo. Questo capita perché IE resetta implicitamente l'oggetto nel metodo open se lo stato risulta essere ''completed''. Per approfondire il discorso [https://keelypavan.blogspot.com/2006/03/reusing-xmlhttprequest-object-in-ie.html Reusing XMLHttpRequest Object in IE.].
Chiamare il metodo open dopo aver settato la callback causa una perdita di compatibilità tra i diversi browser per i readystates. Confronta [http://www.quirksmode.org/blog/archives/2005/09/xmlhttp_notes_r_2.html l'articolo su quirksmode ] (EN). II
|