Mam pewien problem przy używaniu ResponseXML w prototype:
function addComment() { var myAjax = new Ajax.Request( url, { method: 'post', parameters: pars, onComplete: showResponse, onFailure: showError }); } function showResponse(Request) { response = Request.responseXML; // tu występuje błąd error = response.getAttribute('error'); nick = response.getAttribute('nick'); email = response.getAttribute('email'); www = response.getAttribute('www'); content = response.getAttribute('content'); if(error == 1) alert('Wystąpił błąd. Komentarz nie został dodany'); else $('add_comment').innerHTML = content; } function showError(Request) { alert('Wystąpił błąd!'); } var myGlobalHandlers = { onCreate: function(){ Element.show('loader'); }, onComplete: function() { if(Ajax.activeRequestCount == 0){ Element.hide('loader'); } } }; Ajax.Responders.register(myGlobalHandlers);
No i błąd występuje przy odbieraniu XML w : response = Request.responseXML;
Cały czas jest pokazany loader, że trwa zapisywanie komentarza (linie poniżej wogle nie są wykonywane), gdy zmienie
response = Request.responseXML; na
response = Request.responseText; i sprawdze co zwraca skrypt to otrzymuje xml wygenetowany przez XMLwriter:
<?xml version="1.0" encoding="UTF-8"?> <nick>Apo</nick><email>test@op.pl</email><www></www><content>Lorem ipsum Lorem ipsum Lorem ipsum</content><date>1169917331</date>
Pozdrawiam