Frage

Im folgenden Beispiel des Codes möchte ich das Responsext -Objekt durchqueren, das den HTML -Code bestehend aus der Datei request_page.php. Bei einem Onsuccess -Event möchte ich überprüfen, ob <Div> mit ID 'ersdiv' Fehler enthält.

new Request.HTML({
    url: 'request_page.php',
    onSuccess: function(responseText, responseXML) {
    // My expected code to handle responseText object
    alert(errorMessage);
    },
    onFailure: function() {  }
});

Die Datei request_page.php ist wie folgt:

<div align='center'><div id='ersDiv'>Page loaded with insufficient data</div></div>
War es hilfreich?

Lösung

Versuchen Sie dies für 1.2.x (Beispiel für die JSFIDDLE -API):

new Request.HTML({
    url: '/echo/html/',
    method: "post",
    data: {
        html: "<div align='center'><div id='ersDiv'>Page loaded with insufficient data</div></div>",
        delay: 1
    },
    onComplete: function(responseText, responseXML) {
        var error, errors = responseXML.getElements("div").filter(function(el) {
            return el.get("id") == "ersDiv";
        });

        if (errors.length) {
            error = errors[0].get("text");
            alert(error);
        }
    }
}).send();

Arbeitsbeispiel:

http://www.jsfiddle.net/dimitar/vlgqb/

In 1.3 kann dies funktionieren, wie Oskar vorschlug:

console.log($$(this.response.tree).getElement("#ersDiv")[0].get("text"));

http://www.jsfiddle.net/dimitar/vlgqb/2/

habe Spaß.

Andere Tipps

function(responseText, responseXML) {
  if (responseText.getElement('#ersDiv').get('text') === 'Page loaded with insufficient data'){
    console.log('There was an error');
  }
}

Übrigens. 1990 rief sie, sie wollen ihre align='center'Zurück :-)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top