AJAX XMLHttpRequest

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:

  1. Luo ensin XMLHttpRequest-objektina käytettävä XMLHttp Muuttuja. Aseta sen arvo nollaksi.
  2. Tehdään sitten testi window.XMLHttpRequest Onko objekti saatavilla. Uusimmissa versioissa Firefox, Mozilla, Opera ja Safari-selaimissa objekti on saatavilla.
  3. Jos se on saatavilla, käytä sitä luodaksesi uuden objektin:XMLHttp=new XMLHttpRequest()
  4. Jos se ei ole saatavilla, tarkista window.ActiveXObject Onko se saatavilla. Internet Explorer version 5.5:ssä ja uudemmissa versioissa objekti on saatavilla.
  5. 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:

  1. Luo ensin XMLHttpRequest-objektia käyttävä XMLHttp Muuttuja. Aseta sen arvo nollaksi.
  2. Luo objekti web-standardeilla (Mozilla, Opera ja Safari):XMLHttp=new XMLHttpRequest()
  3. Luo objekti Microsoftin tavoin, joka on saatavilla Internet Explorer 6:n ja uudempien versioiden Internet Explorerissä:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
  4. 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 教程