MooTools: как напрямую использовать responseText - PullRequest
0 голосов
/ 04 января 2011

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

с идентификатором 'ersDiv'.
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>

Ответы [ 2 ]

1 голос
/ 05 января 2011

попробуйте это для 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/

веселиться.

1 голос
/ 04 января 2011
function(responseText, responseXML) {
  if (responseText.getElement('#ersDiv').get('text') === 'Page loaded with insufficient data'){
    console.log('There was an error');
  }
}

Btw. 1990 позвонили, они хотят, чтобы их align='center' вернулись: -)

...