Ajax (programmering)

Ajax, eller Asynkron JavaScript og XML, er en webutviklingsteknikk for å lage interaktive nettsider. Tanken er å lage nettsider som føles mer responsive. Dette gjøres ved at klienten utveksler litt og litt data med tjeneren i bakgrunnen, i stedet for å laste hele siden på nytt hver gang brukeren gjør en forandring. Dette skal øke nettsidenes interaktivitet, hastighet og brukskvalitet.

Ajax bruker en kombinasjon av:
 HTML (eller XHTML) og stilark (CSS) for presentasjon.
 DOM (Document Object Model) manipuleres ved hjelp av JavaScript for å dynamisk generere informasjon som blir presentert.
 XMLHttpRequest-objektet for å kommunisere asynkront med en web-tjener.

Ajax er ikke en teknologi i seg selv, men en betegnelse som refererer til en gruppe teknologier.

Hvordan virker det 

HTTP-forespørselen sendes ved hjelp av JavaScript. I de nettleserne som har implementert objektet, initialiserer man et XMLHttpRequest-objekt på følgende måte:
 var Request = new XMLHttpRequest();
I praksis er Ajax noe som gjør at en nettside kan sende og motta informasjon i bakgrunnen samtidig som leseren ser på siden. Dette betyr med andre ord at brukeren ikke trenger å trykke oppdater for at innholdet på siden skal endre seg, men at endringene på tjenersiden kan skje etter hvert som de gjøres på klientsiden. Dette blant annet være nyttig for nyhetsnettsider hvor ferske nyheter kan lastes fortløpende.

Historie 

Ajax er ingen teknologi men et konsept og en samling av flere teknologier. Den har eksistert i flere år, men det er først i de senere år at webutviklerne har sett nytten i denne teknikken. Det var Microsoft med sitt ActiveX-objekt som først startet med XMLHttpRequest. Versjon 5.x og 6.x av Internet Explorer benytter ActiveX til å lage et XMLHttpRequest-objekt mens Internet Explorer 7.0 vil ha dette som et nativt objekt slik som Mozilla-implementasjonen.
I Internet Explorer før versjon 7.0 lages en XMLHttpRequest på følgende måte:
 var Request = new ActiveXObject("Microsoft.XMLHTTP");
Dette gjør imidlertid arbeidet litt mer innviklet for webutviklerne siden objektet lages på forskjellige måter i forskjellige nettlesere. Men det finnes en mengde rammeverk som gjør kryssnettleserproblematikken enklere.

Nettleserstøtte 
Nettlesere som inkluderer støtte for å bruke Ajax-teknologier er:
 Apple Safari (fra og med versjon 1.2)
 Chrome 
 Konqueror
 Microsoft Internet Explorer (fra og med versjon 5.0)
 Mozilla/Mozilla Firefox (fra og med versjon 1.0)
 Netscape 7.1
 Opera (fra og med versjon 7.6)

Eksterne lenker

Toolkits 
 Atlas, Microsofts AJAX toolkit.
 Dojo Toolkit, AJAX/DHTML toolkit.
 Prototype, open-source framework.
 jQuery, open-source framework.
 scriptaculous, Open Source AJAX.

World Wide Web
Programmering