Ir para conteúdo

Arquivado

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

ThiagoLimah

[Resolvido] Problema com Ajax do jQuery

Recommended Posts

Salve pessoal, estou tendo um problema com o ajax do jQuery, espero que alguém possa me ajudar.

 

Criei uma função para me facilitar a vida com as requisições ajax nos meus sistemas, para requisições internas no servidor ela funciona perfeitamente, mas quando tento acessar uma url externa ela está dando falha. Estou tentando usar ela para acessar o www.buscarcep.com.br.

 

 function jsAjax(oParametros, jsRetorno, sUrl, lAssync, sType) {

   if (lAssync == undefined) {
     lAssync = true;
   }

   if (sType == undefined) {
     sType = "POST";
   }

   $.ajax({
     type: sType,
     async: lAssync,
     url: sUrl,
     data: oParametros,
     success: function(oRetorno){
       var sRetorno = jsRetorno+"(oRetorno);";
       eval(sRetorno);
     }
   });

 }

 

Uso normalmente assim:

 


 function jsRequisicao() {

   var sUrl          = "arquivo.RPC.php";
   var jsRetorno     = "jsRetorno";

   var oParam        = new Object();
       oParam.sAcao  = "cadastro";
       oParam.sEmail = "thiagolimaes@gmail.com";

   jsAjax(oParam, jsRetorno, sUrl, false);

 }

 function jsRetorno(oRetorno) {

   alert(oRetorno.sMensagem);

 }

 

Só que agora estou tentando algo assim: (só que não funciona, alguém sabe o problema?)

 


 var sUrl      = "http://www.buscarcep.com.br/";
 var jsRetorno = "jsRetorno";
 var sString   = "cep=97545380&formato=string&chave=1NwaPDG0oTEN.lF.5VycIwOl43LWX/.";

 jsAjax(sString, jsRetorno, sUrl, false);

 function jsRetorno(sRetorno) {
   alert(sRetorno);
 }

 

Estou precisando resolver este problema, se alguém souber o erro.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
mas quando tento acessar uma url externa ela está dando falha

sim, pois ajax por questões de segurança não aceita requisições externas.

 

só irá funcionar se o retorno vier em jSON, ou se você fizer um proxy do teu lado, e o ajax consultar localmente(ai um script server-side seu, q se encarrega de acessar o dominio externo). Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos, mas como farei o acesso a este webservice?

 

Vi algumas implementações de exemplo no proprio buscarcep.com.br usando xajax, será a melhor forma?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos, mas como farei o acesso a este webservice?

com um cURL ou file_get_contents no seu php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionaria mais ou menos assim?

 

<?php

 function getCurl($sUrl, $sDados) {

   $oCURL = curl_init();
   curl_setopt($oCURL, CURLOPT_URL, $sUrl);
   curl_setopt($oCURL, CURLOPT_POST, 1);
   curl_setopt($oCURL, CURLOPT_POSTFIELDS, $sDados);

   $oResultado = curl_exec($oCURL);
   curl_close($oCURL);

   return $oResultado;

 }

 /* Chamando a função */
 getCurl('http://www.buscarcep.com.br/', 'cep=97545380&formato=string&chave=1NwaPDG0oTEN.lF.5VycIwOl43LWX/.');

?>

 

To no caminho certo?

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, mais ou menos por ai.

 

lembre-se de declarar os argumentos da sua função, e de dar uma saida dos dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, vou fazer um arquivo RPC pra fazer as requisições com o ajax, e no RPC executo esta função, com isso consigo buscar as informações que preciso via javascript. Dae soluciono meu problema.

 

Muito obrigado pela ajuda amigo.

Att.

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.