AJAX - Απάντηση Συστήματος

Προτάσεις μαθήματος:

readyState Η ιδιότητα onreadystatechange

onreadystatechange Η ιδιότητα αποθηκεύει την κατάσταση του XMLHttpRequest.

status η ιδιότητα ορίζουν τη συνάρτηση που εκτελείται όταν αλλάζει η ιδιότητα readyState. Http Message Reference Manual Η ιδιότητα και

ιδιότητες απάντησης διακομιστή μέθοδος
onreadystatechange Η ιδιότητα έχει την κατάσταση του αντικειμένου XMLHttpRequest.
readyState

Ορίζεται η συνάρτηση που καλείται όταν αλλάζει η ιδιότητα readyState.

  • υποθηκεύτηκε η κατάσταση του XMLHttpRequest.
  • 0: Η αίτηση δεν έχει�始化
  • 1: Εγκαταστάθηκε η σύνδεση με τον εξυπηρετητή
  • 2: Έλαβε την αίτηση
  • 3: Επεξεργάζεται την αίτηση
status
  • 4: Η αίτηση έχει ολοκληρωθεί και η απάντηση είναι έτοιμη
  • 200: "OK"
  • 403: "Forbidden"

404: "Page not found" Για πλήρη κατάλογο, επισκεφθείτε

Http Message Reference Manual statusText

επιστρέφει το κείμενο κατάστασης (π.χ. "OK" ή "Not Found") Κάθε φορά που

όταν το readyState αλλάζει, ο ορισμός της συνάρτησης onreadystatechange κλήθηκε. readyState για 4status για 200 όταν η απάντηση είναι έτοιμη:

Παράδειγμα

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

Δοκιμάστε το προσωπικά

Σημείωση:onreadystatechange προκαλείται πέντε φορές (0-4), κάθε φορά readyState όλα αλλάζουν.

Χρήση συνάρτησης ανατροφοδότησης

Η συνάρτηση ανατροφοδότησης είναι μια συνάρτηση που μεταφέρεται ως παράμετρος σε μια άλλη συνάρτηση.

Αν ο ιστότοπός σας έχει πολλές εργασίες AJAX, πρέπει να δημιουργήσετε μια συνάρτηση για την εκτέλεση του αντικειμένου XMLHttpRequest και μια συνάρτηση ανατροφοδότησης για κάθε εργασία AJAX.

该函数应当包含 URL 以及当响应就绪时调用的函数。

Παράδειγμα

Η συνάρτηση αυτή πρέπει να περιέχει το URL και τη συνάρτηση που καλείται όταν η απάντηση είναι έτοιμη.
loadDoc("url-1", myFunction1);
loadDoc("url-2", myFunction2);
  function loadDoc(url, cFunction) {
  var xhttp;
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      xhttp = new XMLHttpRequest();
    };
  };
  cFunction(this);
  xhttp.send();
};
xhttp.open("GET", url, true);
  function myFunction2(xhttp) {
 }; 
function myFunction1(xhttp) {
  function myFunction2(xhttp) {
 }; 

Δοκιμάστε το προσωπικά

// Δράση εδώ

ιδιότητες απάντησης διακομιστή μέθοδος
ιδιότητα responseText ιδιότητες
responseXML Αποκτήστε δεδομένα απάντησης σε μορφή κειμένου

Αποκτήστε δεδομένα απάντησης σε μορφή XML

μέθοδος απάντησης διακομιστή μέθοδος
getResponseHeader() περιγραφή
getAllResponseHeaders() Αποκτήστε συγκεκριμένες κεφαλές από τον διακομιστή

Αποκτήστε όλες τις κεφαλές από τον διακομιστή

ιδιότητα responseText ιδιότητα responseText

Παράδειγμα

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

Δοκιμάστε το προσωπικά

ιδιότητα responseXML

Το αντικείμενο XML HttpRequest έχει ενσωματωμένο ανάλυση XML.

ResponseXML ιδιότητες ως αντικείμενο XML DOM και να επιστρέψετε την απάντηση από τον διακομιστή.

Με τη χρήση αυτής της ιδιότητας, μπορείτε να επεξεργαστείτε την απάντησηαναλύστεγια το αντικείμενο XML DOM:

Παράδειγμα

ζητήστε το αρχείο music_list.xmlκαι αναλύστε την απάντηση:

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", "music_list.xml", true);
xhttp.send();

Δοκιμάστε το προσωπικά

Θα μάθετε περισσότερα για τον XML DOM στο κεφάλαιο DOM του τουριστικού οδηγού σας.

Μέθοδος getAllResponseHeaders()

getAllResponseHeaders() Η μέθοδος επιστρέφει όλες τις κεφαλίδες από την απάντηση του διακομιστή.

Παράδειγμα

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

Δοκιμάστε το προσωπικά

Μέθοδος getResponseHeader()

getResponseHeader() Η μέθοδος επιστρέφει συγκεκριμένες κεφαλίδες από την απάντηση του διακομιστή.

Παράδειγμα

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(); 

Δοκιμάστε το προσωπικά