Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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.
Mais ou menos, mas como farei o acesso a este webservice?
com um cURL ou file_get_contents no seu php.
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.
sim, mais ou menos por ai.
lembre-se de declarar os argumentos da sua função, e de dar uma saida dos dados.
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.
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 ?