// Opprett XMLHttpRequest og lagre referansen i http variablenvar oHttp;// Siden Internet Explorer har sin egen ActiveX implementasjon av dette objektet så// må vi differensiere mellom de to måtene å instansiere objektet på.// Mozilla-kompatible (også Opera) nettlesere har innebygget objekt.if (window.XMLHttpRequest) { oHttp = new XMLHttpRequest();} else if (window.ActiveXObject) { oHttp = new ActiveXObject("Microsoft.XMLHTTP");}// Ok, vi har nå objektet klart. På tide å kalle noen metoder.if (oHttp) { // Fortell hvilken funksjon som skal kalles når vi får svar fra server oHttp.onreadystatechange = ready; // Adresse til serverskript var url = "http://dinserver/scripts/dittskript.php"; // Foreta en forespørsel mot server (som bestemmes av url), vi skal bruke POST metoden. // Siste argument bestemmer om vi skal utføre dette asynkront eller ikke. true = asynkront. oHttp.open("POST", url, true); // Vi setter korrekt MIME innholdstype også. oHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // Nå setter vi opp hva slags data vi skal sende til vårt skript. Dette bør helst være en // QueryString som er lett å tolke av skriptet. Det blir som om vi skulle ha laget et // HTML skjema og sendt data slik. Du kan da bare bruke $_POST arrayet i PHP skriptet ditt var postdata = "variabel1=verdi1&variabel2=verdi2"; oHttp.send(postdata); // Siden vi utfører et asynkront kall så returnerer vi kontroll til nettleseren etter dette. // Funksjonen satt i onreadystatechange egenskapen blir kalt opp når den får svar.}// Denne funksjonen kalles av http objektet når den får svar fra server og ved andre hendelserfunction ready() { // Vi leser av readyState egenskapen for å sjekke status. if (oHttp.readyState == 4) { // status er HTTP statuskoden. 200 er som kjent OK. 404 er fil ikke funnet, etc... if (oHttp.status == 200) { // Nå kan du gjøre hva du vil med responseText som er svaret fra server og skriptet ditt. // I dette tilfelle så viser vi data bare til brukeren i en meldingsboks. alert(oHttp.responseText); } }}