XMLHttpRequest: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 102:
E' importante notare che le tecniche mostrate dovrebbero essere utilizzate '''solo''' quanto il caching risulta essere inappropriato e da evitare. Se questi metodi fossero usati indiscrinatamente, l'applicazione potrebbe risentirne in termini di prestazioni.
===Problemi con caratteri accentato e 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' funzionerà correttamente con qualsiasi carattere [[UTF-8]].
===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 settare onreadistatechange dopo.
Questo capita perchè IE resetta implicitamente l'oggetto nel motodo open se lo stato risulta essere 'completed'.
Per approfondire il discorso [http://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).
===Supporto Cross Browser ===
Gli sviluppatori Microsoft furono i primi ad includere l'oggetto XMLHttp nel loro MSXML ActiveX control. Gli sviluppatori del progetto Open Source Mozilla crearono la loro versione di XmlHttp, non come un controllo ActiveX ma come un oggetto nativo nel browser, con il nome di XMLHttpRequest. Opera e Safari hanno sviluppato un oggetto simile, più vicino all'implementazione Mozilla.
Per creare librerie javascript portabili è necessario includere diversi controlli per utilizzare l'oggetto XMLHttp appropriato.
Internet Explorer 7 supporterà nativamente XMLHttpRequest.
==Collegamenti esterni==
|