XMLHttpRequest

Úr Wikipediu, frjálsa alfræðiritinu
Jump to navigation Jump to search

XMLHttpRequest (XHR) er DOM API sem JavaScript frá ECMA, ActiveX frá Microsoft og önnur vafraforskriftumál geta notað til að senda XML-beiðni til vefþjóns, sem keyrir þá hugsanlega eitthvert forrit eða sendir til baka uppfærðar upplýsingar, til dæmis um úrslit íþróttaleikja. Þessi tegund af AJAX-kóðun ætti ekki að rugla saman við XML Domain Request (XDR) sem er minni útgáfa af XMLHttpRequest hönnuð af Microsoft.

Sýnidæmi[breyta | breyta frumkóða]

Hér eru nokkur dæmi u XMLHttpRequest-kóða.

function ajax(url, vars, callbackFunction) {
  var beidni =  new XMLHttpRequest();
  beidni.open("POST", url, true);
  beidni.setRequestHeader("Content-Type",
                           "application/x-www-form-urlencoded");

  beidni.onreadystatechange = function() {
    var buid = 4, alltILagi = 200;
    if (beidni.readyState == buid && request.status == alltILagi) {
      if (beidni.responseText) {
        callbackFunction(beidni.responseText);
      }
    }
  };
  beidni.send(vars);
}
var beidni = new XMLHttpRequest();
beidni.open("GET", url, false);
beidni.send(null);
if(!beidni.getResponseHeader("Date")) {
  var geymt = beidni;
  beidni =  new XMLHttpRequest();
  var efBreyttSidan = geymt.getResponseHeader("Last-Modified");
  efBreyttSidan = (efBreyttSidan) ?
      efBreyttSidan : new Date(0); // January 1, 1970
  beidni.open("GET", url, false);
  beidni.setRequestHeader("If-Modified-Since", efBreyttSidan);
  beidni.send("");
  if(request.status == 304) {
    beidni = geymt;
  }
}

Heimildir[breyta | breyta frumkóða]

[Kesteren, Anne]. „The XMLHttpRequest Object“. WorldWideWeb Consortium, skoðað þann 27. desember 2008. „The XMLHttpRequest Object specification defines an API that provides scripted client functionality for transferring data between a client and a server.“ Fyrirmynd greinarinnar var „XMLHttpRequest“ á ensku útgáfu Wikipedia. Sótt desember 2008. Fyrirmynd greinarinnar var „XMLHttpRequest“ á frönsku útgáfu Wikipedia. Sótt desember 2008.