AJAX - Απάντηση Συστήματος
- Προηγούμενη σελίδα AJAX αίτημα
- Επόμενη σελίδα AJAX XML αρχείο
Προτάσεις μαθήματος:
readyState
Η ιδιότητα onreadystatechange
onreadystatechange
Η ιδιότητα αποθηκεύει την κατάσταση του XMLHttpRequest.
status
η ιδιότητα ορίζουν τη συνάρτηση που εκτελείται όταν αλλάζει η ιδιότητα readyState. Http Message Reference Manual
Η ιδιότητα και
ιδιότητες απάντησης διακομιστή | μέθοδος |
---|---|
onreadystatechange | Η ιδιότητα έχει την κατάσταση του αντικειμένου XMLHttpRequest. |
readyState |
Ορίζεται η συνάρτηση που καλείται όταν αλλάζει η ιδιότητα readyState.
|
status |
404: "Page not found" Για πλήρη κατάλογο, επισκεφθείτε |
Http Message Reference Manual | statusText |
επιστρέφει το κείμενο κατάστασης (π.χ. "OK" ή "Not Found") Κάθε φορά που
όταν το readyState αλλάζει, ο ορισμός της συνάρτησης onreadystatechange κλήθηκε. readyState
για 4
status
για 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();
- Προηγούμενη σελίδα AJAX αίτημα
- Επόμενη σελίδα AJAX XML αρχείο