XMLHttpRequest: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Aggiungo: tk:XMLHttpRequest |
m Bot: Modifico: pl:XMLHttpRequest; modifiche estetiche |
||
Riga 5:
Oltre a XML, XMLHTTP può essere usato per prendere dati in altri formati, come [[JSON]] o anche testo semplice.
XMLHttpRequest è un elemento fondamentale della tecnica di sviluppo web conosciuta con l'acronimo
== Metodi ==
{| class="wikitable" width="90%"
! Metodo
Riga 21:
| Restituisce il valore dell'header HTTP specificato
|-
| nowrap valign="top" | <tt>open( metodo, URL )</tt><br /><tt>open( metodo, URL, async )</tt><br /><tt>open( metodo, URL, async, userName )</tt><br /><tt>open( metodo, URL, async, userName, password )</tt>
|Specifica il metodo, l'URL, and altri parametri opzionali per la richiesta.
Riga 28:
Il parametro URL può essere sia relativo che assoluto.
Il parametro "async" specifica se la richiesta deve essere gestita in modo asincrono oppure no
|-
| <tt>send( content )</tt>
Riga 37:
|}
== Attributi ==
{| class="wikitable" width="90%"
! Attributo
Riga 62:
|}
== Storia ==
L'oggetto venne originariamente inventato da [[Microsoft]], usato da [[Internet Explorer]] 5.0 come oggetto [[ActiveX]], accessibile via JavaScript, VBScript, o qualsiasi altro linguaggio supportato dal browser. Gli sviluppatori di Mozilla implementarono poi una versione compatibile in [[Mozilla]] 1.0. Successivamente è stato supportato anche da [[Apple]] con [[Safari (browser)|Safari]] 1.2 e da [[Opera Software]] con [[Opera (browser)|Opera]] 8.0.
La maggior parte delle pagine ben progettate
Funzionalità simili sono incluse in [[Document Object Model|DOM]] Livello 3 "Load and Save", già raccomandazione del [[W3C]].
Tuttavia, per ora ([[2005]]), nessun web browser supporta in modo completo questa specifica. XMLHttpRequest è comunque pensato come uno standard di fatto per il futuro.
== Problemi noti ==
=== La cache di Microsoft Internet Explorer ===
Il browser di casa Microsoft implementa una cache per le richieste GET. Gli sviluppatori che non sono abituati al caching non si aspettano che le richieste GET vengano memorizzate, oppure che essa venga ignorata come per il tasto di refresh. In alcune situazioni, non riuscire ad evitare la cache genera problemi al punto di poter essere considerato un bug. Una soluzione a questo è di utilizzare il metodo POST nelle request, che non viene mai memorizzato in cache.
Riga 101:
È importante notare che le tecniche mostrate dovrebbero essere utilizzate '''solo''' quando il caching risulta essere inappropriato e da evitare. Se questi metodi fossero usati indiscriminatamente, 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' permette di far funzionare tutto 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 onreadystatechange dopo.
Questo capita perché IE resetta implicitamente l'oggetto nel metodo open se lo stato risulta essere 'completed'.
Riga 114:
II
=== 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
Per creare librerie javascript portabili è necessario includere diversi controlli per utilizzare l'oggetto XMLHttp appropriato.
Internet Explorer 7 supporta nativamente XMLHttpRequest.
== Collegamenti esterni ==
* [http://developer.apple.com/internet/webcontent/xmlhttpreq.html DHTML e XML: L'oggetto XMLHttpRequest]
* [http://www.mozilla.org/xmlextras/ XML Extras]
* [http://xulplanet.com/references/objref/XMLHttpRequest.html XMLHttpRequest]
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/xmobjxmlhttprequest.asp IXMLHTTPRequest]
* [http://jibbering.com/2002/4/httprequest.html Usare l'oggetto XML HTTP Request]
* [http://www.w3.org/TR/DOM-Level-3-LS/ Raccomandazione W3C: DOM Livello 3 specifica "Load and Save"]
* [http://www.google.com/webhp?complete=1&hl=en Google Suggest]
[[Categoria:XML]]
Riga 141:
[[ja:XMLHttpRequest]]
[[nl:XMLHTTP]]
[[pl:
[[pt:XMLHttpRequest]]
[[ro:XMLHttpRequest]]
|