Mootools: как напрямую использовать ответный ответ
-
15-10-2019 - |
Вопрос
В следующем примере кода я хочу пройти через объект ответа, который состоит из кода 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'
Обратно :-)
Не связан с StackOverflow