Mootools: как напрямую использовать ответный ответ

StackOverflow https://stackoverflow.com/questions/4593143

Вопрос

В следующем примере кода я хочу пройти через объект ответа, который состоит из кода HTML, поступил из файла request_page.php. В событии Onsuccess я хочу проверить, есть ли в нем какие -либо ошибки.

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

файл request_page.php такой:

<div align='center'><div id='ersDiv'>Page loaded with insufficient data</div></div>
Это было полезно?

Решение

Попробуйте это для 1.2.x (пример настройки для API JSFiddle):

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

Рабочий пример:

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

В 1.3 это может работать, как предложил Оскар:

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

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

веселиться.

Другие советы

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

Кстати. 1990 назвал, они хотят их align='center'Обратно :-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top