AJAX XMLHttpRequest
- Edellinen sivu AJAX Esittely
- Seuraava sivu AJAX Ehdotus
XMLHttpRequest-objekti mahdollistaa AJAX:n.
XMLHttpRequest
XMLHttpRequest-objekti on AJAX:n keskeinen osa.
Tämä objekti oli saatavilla Internet Explorer 5.5:ssä ja sen julkaisun jälkeen heinäkuussa 2000, mutta ennen kuin AJAX ja Web 2.0 alkoivat keskustella vuonna 2005, objekti ei ollut kovin tunnettu.
XMLHttpRequest-objektin luominen
Eri selaimet käyttävät eri menetelmiä XMLHttpRequest-objektin luomiseen XMLHttpRequest objektia.
Internet Explorer käyttää ActiveXObject。
Muut selaimet käyttävät nimeltä XMLHttpRequest JavaScriptin sisäänrakennettua objektia.
Ratkaisemaan tämän ongelman voit käyttää tätä yksinkertaista koodia:
var XMLHttp=null if (window.XMLHttpRequest) { XMLHttp=new XMLHttpRequest() } else if (window.ActiveXObject) { XMLHttp=new ActiveXObject("Microsoft.XMLHTTP") }
Koodin selitys:
- Luo ensin XMLHttpRequest-objektina käytettävä XMLHttp Muuttuja. Aseta sen arvo nollaksi.
- Tehdään sitten testi window.XMLHttpRequest Onko objekti saatavilla. Uusimmissa versioissa Firefox, Mozilla, Opera ja Safari-selaimissa objekti on saatavilla.
- Jos se on saatavilla, käytä sitä luodaksesi uuden objektin:XMLHttp=new XMLHttpRequest()
- Jos se ei ole saatavilla, tarkista window.ActiveXObject Onko se saatavilla. Internet Explorer version 5.5:ssä ja uudemmissa versioissa objekti on saatavilla.
- Jos se on saatavilla, käytä sitä luodaksesi uuden objektin:XMLHttp=new ActiveXObject()
Parannettu esimerkki
Jotkut ohjelmistokehittäjät pitävät siitä, että he käyttävät uusinta ja nopeinta XMLHttpRequest-objektin versiota.
Esimerkki yritti ladata Microsoftin uusinta versiota "Msxml2.XMLHTTP", joka on saatavilla Internet Explorer 6:ssa, jos se ei lataudu, siirry takaisin "Microsoft.XMLHTTP"-versioon, joka on saatavilla Internet Explorer 5.5:ssä ja sen uusimmassa versiossa.
function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
Koodin selitys:
- Luo ensin XMLHttpRequest-objektia käyttävä XMLHttp Muuttuja. Aseta sen arvo nollaksi.
- Luo objekti web-standardeilla (Mozilla, Opera ja Safari):XMLHttp=new XMLHttpRequest()
- Luo objekti Microsoftin tavoin, joka on saatavilla Internet Explorer 6:n ja uudempien versioiden Internet Explorerissä:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
- Jos virheen käsittelyä, yritä vanhempaa menetelmää (Internet Explorer 5.5) :XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
Lisätietoja XMLHttpRequest-objektista
Jos haluat lukea lisää XMLHttpRequestistä, vieraile AJAX 教程。
- Edellinen sivu AJAX Esittely
- Seuraava sivu AJAX Ehdotus