Busca CEP com Clean Ajax

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>

<title>Busca Cep com Clean Ajax</title>

</head>

<body>

<br /> <br />

<center>

<p><b>Busca Cep Por Web Service</b></p>

<form name="formbuscacep">

<p><input type="text" size="15" maxlength="8" name="cep"> </input>&nbsp;&nbsp;

<input type="hidden" size="15" name="operation" value="buscacep"> </input>

<input type="button" value=" Buscar " onclick="buscacep(formbuscacep.cep.value, formbuscacep.operation.value);">

</input>

<input type="text" size="30" name="resultcidade"> </input>

<input type="text" size="5" name="resultestado"> </input>

</p>

</form>

</center>

</body>

</html>

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

Um comentário sobre “Busca CEP com Clean Ajax

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s