Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Tratar retorno no XMLHttp


wvrosario

Pergunta

Pessoal,

Preciso tratar essas informações que são retornadas do link dos correios, queria tratar isso no javascript e depois exibir via innerHTML, tem como?? alguém poderia me ajudar? sei que tenho que fazer isso a DOM, mas cruzar o DOM com XMLHttp ?? como??

por favor ficaria muito grato!

Atc,

William

<html>
<head>
&lt;script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Opera, etc.
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.open("GET",url,false);
  xmlhttp.send(null);
  document.getElementById('A3').innerHTML=xmlhttp.responseText;
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
}
</script>
</head>

<body>
<p><b>Response:</b>
<br /><span id="A3"></span>
</p>

<button onclick="loadXMLDoc('http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=15085893&cepDestino=15040190&peso=3&MaoPropria=N&avisoRecebimento=N&resposta=xml')">Get XML</button>

</body>
</html>

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

amigo fiz do jeito que você falou e não traz valor nenhum..

<html>
<head>
<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Opera, etc.
  xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
  xmlhttp.open("GET",url,false);
  xmlhttp.send(null);
  //document.getElementById('A3').innerHTML=xmlhttp.responseText;
  
  var resultado = xmlhttp.responseText;
  
  var a = resultado.split(" ");
  
  document.getElementById('A3').innerHTML= a[2];
  
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }
}
</script>
</head>

<body>
<p><b>Response:</b>
<br /><span id="A3"></span>
</p>

<button onclick="loadXMLDoc('http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=15085893&cepDestino=15040190&peso=3&MaoPropria=N&avisoRecebimento=N&resposta=xml')">Get XML</button>

</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Tente dar um alert na variável resultado e no valor do array.

Obs.:

Recomendo que utilize o AJAX de forma assíncrona (para isso deixe o terceiro parâmetro do método open como true e utilize o evento onreadystatechange juntamente com a propriedade readyState para verificar se a requisição foi concluída)

Link para o comentário
Compartilhar em outros sites

  • 0

cara desculpa não entendi nada do passo anterior aonde você falou para colocar true... e etc..

Obs.:

Recomendo que utilize o AJAX de forma assíncrona (para isso deixe o terceiro parâmetro do método open como true e utilize o evento onreadystatechange juntamente com a propriedade readyState para verificar se a requisição foi concluída)

podia alterar o meu codigo com essas alteracoes?

desde já obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

A diferença entre essas duas formas é na forma como a requisição é feita. Da forma que você está fazendo o navegador fica "travado" até que a requisição seja completada

Ao invés de:

xmlhttp.open("GET","sua_url",false)
xmlhttp.send(null)
var retorno=xmlhttp.responseText
alert(retorno)
Você pode utilizar:
xmlhttp.open("GET","sua_url",true)
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){ //Se xmlhttp.readyState for 4 a requisição está completa
var retorno=xmlhttp.responseText
alert(retorno)
}
}
xmlhttp.send(null)

Recomendo também que dê uma olhada em alguns links desse tópico: Lista de Cursos para a linguagem JavaScript

Mas você conseguiu resolver o problema ?

Link para o comentário
Compartilhar em outros sites

  • 0

olha fiz do jeito que você falou..

segue codigo.

<html>
<head>
<script type="text/javascript">
    var xmlhttp;
    function loadXMLDoc(url)
    {
        xmlhttp=null;
        if (window.XMLHttpRequest)
        {// code for IE7, Firefox, Opera, etc.
            xmlhttp=new XMLHttpRequest();
        }
        else if (window.ActiveXObject)
          {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
        if (xmlhttp!=null)
        {
            xmlhttp.open("GET",url,true);
            xmlhttp.onreadystatechange=function(){
            
                if(xmlhttp.readyState==4){ //Se xmlhttp.readyState for 4 a requisição está completa
                    var retorno=xmlhttp.responseText;
                    alert(retorno);
                    document.getElementById('A3').innerHTML= retorno;
                }
            }
            xmlhttp.send(null);
        }
        else
          {
            alert("Your browser does not support XMLHTTP.");
        }
    }
</script>
</head>

<body>
<p><b>Response:</b>
<br /><span id="A3"></span>
</p>

<button onclick="loadXMLDoc('http://www.correios.com.br/encomendas/precos/calculo.cfm?cepOrigem=15085893&cepDestino=15040190&peso=3&MaoPropria=N&avisoRecebimento=N&resposta=xml')">Get XML</button>

</body>
</html>

retorno no alert é igual a página da correios...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...