AJAX XMLHttpRequest

XMLHttpRequest-objektet gör AJAX möjligt.

XMLHttpRequest

XMLHttpRequest-objektet är nyckeln till AJAX.

Detta objekt har varit tillgängligt sedan Internet Explorer 5.5 och släpptes i juli 2000, men innan människor började diskutera AJAX och Web 2.0 2005, var objektet inte tillräckligt känt.

Skapa XMLHttpRequest-objekt

Olika webbläsare använder olika metoder för att skapa XMLHttpRequest objekt.

Internet Explorer använder ActiveXObject

Andra webbläsare använder namnet XMLHttpRequest JavaScripts inbyggda objekt.

För att övervinna detta problem kan du använda följande enkel kod:

var XMLHttp=null
if (window.XMLHttpRequest)
  {
  XMLHttp=new XMLHttpRequest()
  }
else if (window.ActiveXObject)
  {
  XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
  }

Kodförklaring:

  1. Först skapa ett som används som XMLHttpRequest-objekt XMLHttp Variabel. Sätt dess värde till null.
  2. Därefter testar window.XMLHttpRequest Om objektet är tillgängligt. I nya versioner av Firefox, Mozilla, Opera och Safari är objektet tillgängligt.
  3. Om det är tillgängligt, använd det för att skapa ett nytt objekt:XMLHttp=new XMLHttpRequest()
  4. Om det inte är tillgängligt, kontrollera window.ActiveXObject Om objektet är tillgängligt. I Internet Explorer version 5.5 och högre versioner är objektet tillgängligt.
  5. Om det är tillgängligt, använd det för att skapa ett nytt objekt:XMLHttp=new ActiveXObject()

Förbättrad exempel

Vissa programmerare föredrar att använda den senaste och snabbaste versionen av XMLHttpRequest-objektet.

Följande exempel försöker ladda Microsofts senaste version av "Msxml2.XMLHTTP", som är tillgänglig i Internet Explorer 6, om det inte går att ladda, går tillbaka till "Microsoft.XMLHTTP", som är tillgänglig i Internet Explorer 5.5 och senare versioner.

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;
}

Kodförklaring:

  1. Först skapa ett objekt som används som XMLHttpRequest-objektet XMLHttp Variabel. Sätt dess värde till null.
  2. Skapa objekt enligt webbstandard (Mozilla, Opera och Safari):XMLHttp=new XMLHttpRequest()
  3. Skapa objekt enligt Microsofts sätt, tillgängligt i Internet Explorer 6 och högre versioner:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
  4. Om ett fel fångas, försök med en äldre metod (Internet Explorer 5.5):XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")

Mer information om XMLHttpRequest-objektet

Om du vill läsa mer om XMLHttpRequest, besök vår AJAX-lärord