Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Douglas W.

xml + ajax + asp

Recommended Posts

Seguinte galera... estou tentando montar um XML com o ASP, mais qdo o AJAX puxa as informações naum funciona.,.. olha eu fiz um teste... criei o a pagina XML abaixo... savei ela em duas extenções uma em XML e outra em ASP:<?xml version="1.0" encoding="iso-8859-1"?><dados> <corpo> <acao>ir</acao> <conteudo>home.asp</conteudo> </corpo></dados>dai na página index.asp criei um javascript desse modo:<script src="ajax.js"></script><script>function Teste(){ menu.innerHTML = "Carregando Aguarde..."; var xml = new Ajax(); var xmlDoc = null; var sTexto = ''; xml.open("GET", "http://localhost/ajax/menu.xml",true); xml.onreadystatechange = function () { if (xml.readyState==4){ xmlDoc = xml.responseXML; var sCorpo = xmlDoc.getElementsByTagName('corpo'); var sAcao = sCorpo[0].getElementsByTagName('acao')[0].firstChild.nodeValue; var sConteudo = sCorpo[0].getElementsByTagName('conteudo')[0].firstChild.nodeValue; switch (sAcao.toUpperCase()) { case 'OK': return "Ok!"; break; case 'MSG': alert(sConteudo); break; case 'IR' : location.href=sConteudo; break; case 'ESCREVER' : document.write(sConteudo); break; default: alert("Não existe a condição retornada pela página: "+sAcao); } } } xml.send(null); }</script>o q eu estou tentando fazer é o seguinte... qdo chamar as páginas de ASP com o AJAX, como por exemplo um login, eu vou criar um XML no final com a ação que eu trato com o javascript como no exemplo acima...entaum se por exemplo fazer uma verificação de login e naum estiver o usuário eu preciso mostrar na tela q naum existe o usuário entaum eu vou passar <acao>msg</acao><conteudo>Não existe o usuário informado</conteudo>, dai no retorno o javascript vai tratar... alguém pode me ajudar PLZ.. abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso::

 

....

 

xml.onreadystatechange = function () {if (xml.readyState==4){xmlDoc = xml.responseXML;if(xmlDoc.hasChildNodes()){var sCorpo = xmlDoc.getElementsByTagName('corpo');var sAcao = sCorpo[0].childNodes[0].firstChild.nodeValue;var sConteudo = sCorpo[0].childNodes[1].firstChild.nodeValue;}else{alert('Não foi encontrado nenhum nó filho');}
...

 

:: Adicionei o if(xmlDoc.hasChildNodes()){

o método hasChildNodes() verifica se existe nos filhos no elemento referenciado

 

:: troquei o metodo getElementsByTagName por childNodes

var sAcao = sCorpo[0].childNodes[0].firstChild.nodeValue;

var sConteudo = sCorpo[0].childNodes[1].firstChild.nodeValue;

 

Como foi referenciado o objeto sCorpo para a tag 'corpo'

usando a propriedade childNodes para retornar um array com os nós filhos

do elemento referenciado.. no caso

pai :::: 'corpo'

filho[0] :::: 'acao'

filho[1] :::: 'conteudo'

 

espero q funcionhe... nao tive tempo de testar aqi...

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.