Busca CEP com Clean Ajax
23 de jun. de 2012 • 2 min de leitura
AjaxClean AjaxExemplo Clean AjaxExemplosJavascript
Recentemente precisei pesquisar algo sobre o Clean Ajax para um trabalho da pós-graduação e como não encontrei muitos exemplos resolvi disponibilizar o exemplo bem simples que desenvolvi para este trabalho.
Formulário
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Type" content="text/javascript; charset=ISO-8859-1" />
<script src="clean/clean-ajax-all.js">
</script>
<script src="scriptbuscacep.js"> </script>
Javascript responsável pela comunicação com o clean ajax
function success(obj){
if(obj.cidade == null){
alert("Cep informado inválido");
}else{
document.forms['formbuscacep'].resultcidade.value = obj.cidade;
document.forms['formbuscacep'].resultestado.value = obj.uf;
}
}
function error(obj){
alert("Error: " + obj["faultString"]);
}
function showError(e){
alert(e);
}
function buscacep(cep, method){
var message = Clean.createSimpleMessage("servicecep.php", "", showError);
var rpc = new RemoteMethod();
rpc.protocol = "XMLRPC";
rpc.name = method;
rpc.addParam(cep);
rpc.onResult = success;
rpc.onError = error;
Clean.callWebService(message, rpc);
}
E o service que faz a busca no webservice de cep
<?php
require_once("xmlrpc.php");
$xmlrpc_methods = array();
$xmlrpc_methods['buscacep'] = 'buscacep';
$xmlrpc_request = XMLRPC_parse($HTTP_RAW_POST_DATA);
$methodName = XMLRPC_getMethodName($xmlrpc_request);
$params = XMLRPC_getParams($xmlrpc_request);
if (isset($xmlrpc_methods[$methodName])) {
$xmlrpc_methods[$methodName]($params);
}
function buscacep($params) {
if (is_numeric($params[0])) {
$resultado = @file_get_contents('http://republicavirtual.com.br/web_cep.php?cep=' .$params[0]. '&formato=query_string');
parse_str($resultado, $retorno);
XMLRPC_response(XMLRPC_prepare($retorno), WEBLOG_XMLRPC_USERAGENT);
} else {
XMLRPC_error("1", "Invalid parameters", WEBLOG_XMLRPC_USERAGENT);
}
}
?>
Para rodar o exemplo sera necessário as libs do Clean Ajax que você consegue encontrar nesse link, juntamente com o arquivo XMLRPC que também pode baixar no próprio site do Clean Ajax.
Abraço e até o próximo post