XML- tutoriaal

XML TUIS XML Inleiding XML Hoe om te gebruik XML-boom XML-sintaksis XML elemente XML-kenmerke XML Naamruimtes XML vertoon XML HttpRequest XML-ontleder XML DOM XML XPath XML XSLT XML XQuery XML XLink XML valideerder XML DTD XML-skema XML-bediener XML voorbeelde XML Vasvra XML-sertifikaat

XML AJAX

AJAX Inleiding AJAX XMLHttp AJAX-versoek AJAX-reaksie AJAX XML-lêer AJAX PHP AJAX ASP AJAX-databasis AJAX toepassings AJAX voorbeelde

XML DOM

DOM Inleiding DOM nodusse Toegang tot DOM DOM Node Info DOM Node Lys DOM deurkruis DOM Navigeer DOM Kry waardes DOM Verander nodusse DOM Verwyder nodes DOM vervang nodusse DOM Skep nodusse DOM Voeg nodes by DOM Kloon Nodes DOM Voorbeelde

XPath handleiding

XPath Inleiding XPath nodes XPath-sintaksis XPath-asse XPath-operateurs XPath voorbeelde

XSLT- tutoriaal

XSLT Inleiding XSL-tale XSLT-transformasie XSLT <sjabloon> XSLT <waarde-van> XSLT <vir-elk> XSLT <sorteer> XSLT <if> XSLT <kies> XSLT Pas toe XSLT op die kliënt XSLT op die bediener XSLT Wysig XML XSLT voorbeelde

XQuery- tutoriaal

XQuery Inleiding XQuery voorbeeld XQuery FLWOR XQuery HTML XQuery-bepalings XQuery-sintaksis XQuery Voeg by XQuery Kies XQuery-funksies

XML DTD

DTD Inleiding DTD Boublokke DTD Elemente DTD-kenmerke DTD Elements vs Attr DTD Entiteite DTD voorbeelde

XSD- skema

XSD Inleiding XSD Hoe om XSD <skema> XSD-elemente XSD-kenmerke XSD-beperkings

XSD -kompleks

XSD-elemente XSD leeg Slegs XSD-elemente Slegs XSD-teks XSD gemeng XSD-aanwysers XSD <enige> XSD <anyAttribute> XSD-vervanging XSD voorbeeld

XSD data

XSD-string XSD datum XSD Numeries XSD Diverse XSD-verwysing

Webdienste _

XML Dienste XML WSDL XML SEEP XML RDF XML RSS

Verwysings

DOM Node Tipes DOM Node DOM NodeLys DOM NamedNodeMap DOM-dokument DOM Element DOM-kenmerk DOM teks DOM CDATA DOM Kommentaar DOM XMLHttpRequest DOM-ontleder XSLT-elemente XSLT/XPath-funksies

AJAX - Bediener reaksie


Die onreadystatechange Eiendom

Die readyState- eienskap hou die status van die XMLHttpRequest.

Die onreadystatechange- eienskap definieer 'n funksie wat uitgevoer moet word wanneer die readyState verander.

Die status - eienskap en die statusText- eienskap hou die status van die XMLHttpRequest-objek.

Property Description
onreadystatechange Defines a function to be called when the readyState property changes
readyState Holds the status of the XMLHttpRequest.
0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready
status 200: "OK"
403: "Forbidden"
404: "Page not found"
For a complete list go to the Http Messages Reference
statusText Returns the status-text (e.g. "OK" or "Not Found")

Die onreadystatechange-funksie word geroep elke keer as die readyState verander.

Wanneer readyState 4 is en status 200 is, is die antwoord gereed:

Voorbeeld

function loadDoc() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("demo").innerHTML =
            this.responseText;
       }
    };
    xhttp.open("GET", "ajax_info.txt", true);
    xhttp.send();
}

Die "ajax_info.txt"-lêer wat in die voorbeeld hierbo gebruik word, is 'n eenvoudige tekslêer en lyk soos volg:

<h1>AJAX</h1>
<p>AJAX is not a programming language.</p>
<p>AJAX is a technique for accessing web servers from a web page.</p>
<p>AJAX stands for Asynchronous JavaScript And XML.</p>

Die onreadystatechange-gebeurtenis word vier keer geaktiveer (1-4), een keer vir elke verandering in die readyState.



Gebruik 'n terugbelfunksie

'n Terugbelfunksie is 'n funksie wat as 'n parameter na 'n ander funksie oorgedra word.

As jy meer as een AJAX-taak op 'n webwerf het, moet jy een funksie skep om die XMLHttpRequest-objek uit te voer, en een terugbelfunksie vir elke AJAX-taak.

Die funksie-oproep moet die URL bevat en watter funksie om te roep wanneer die antwoord gereed is.

Voorbeeld

loadDoc("url-1", myFunction1);

loadDoc("url-2", myFunction2);

function loadDoc(url, cFunction) {
  var xhttp;
  xhttp=new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      cFunction(this);
    }
 };
  xhttp.open("GET", url, true);
  xhttp.send();
}

function myFunction1(xhttp) {
  // action goes here
}
function myFunction2(xhttp) {
  // action goes here
}

Bedienerreaksie-eienskappe

Property Description
responseText get the response data as a string
responseXML get the response data as XML data

Bedienerreaksiemetodes

Method Description
getResponseHeader() Returns specific header information from the server resource
getAllResponseHeaders() Returns all the header information from the server resource

Die responseText Property

Die responseText- eienskap gee die bedienerantwoord as 'n JavaScript-string terug, en jy kan dit dienooreenkomstig gebruik:

Voorbeeld

document.getElementById("demo").innerHTML = xhttp.responseText;

Die responseXML Eiendom

Die XML HttpRequest-objek het 'n ingeboude XML-ontleder.

Die responseXML- eienskap gee die bedienerrespons terug as 'n XML DOM-objek.

Deur hierdie eienskap te gebruik, kan jy die antwoord as 'n XML DOM-objek ontleed:

Voorbeeld

Versoek die lêer cd_catalog.xml en ontleed die antwoord:

xmlDoc = xhttp.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("ARTIST");
for (i = 0; i < x.length; i++) {
  txt += x[i].childNodes[0].nodeValue + "<br>";
  }
document.getElementById("demo").innerHTML = txt;
xhttp.open("GET", "cd_catalog.xml", true);
xhttp.send();

Jy sal baie meer oor XML DOM in die DOM-hoofstukke van hierdie tutoriaal leer.


Die getAllResponseHeaders()-metode

Die getAllResponseHeaders() metode gee alle kopinligting van die bedienerantwoord terug.

Voorbeeld

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    document.getElementById("demo").innerHTML =
    this.getAllResponseHeaders();
  }
};

Die getResponseHeader()-metode

Die getResponseHeader() metode gee spesifieke kopinligting van die bedienerantwoord terug.

Voorbeeld

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    document.getElementById("demo").innerHTML =
    this.getResponseHeader("Last-Modified");
  }
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();