sexta-feira, 17 de julho de 2009

FUNÇÃO AJAX C/ JQUERY

E ai pessoal,
Tenho demorado para postar pq estou muuuuuito sem tempo :(

Está mais correria do que nunca, mas a vida honesta é dura, faz parte.

Eu comecei outro projeto nesse mes.
É um site de relacionamentos e terá muitas coisas em Ajax.
Eu pensei então em escrever uma função que me auxiliasse toda vez que fosse preciso carregar meus dados sem dar um Refresh na página inteira.
Essa função que eu desenvolvi é bem simples de utilizar.
Eu testei várias vezes e até agora tem suprido minhas necessidades.


As funções Javascript.

Infelizmente, o blog não me permite inserir códigos javascript. Então dei um printscreen da minha tela..e estou passando para vocês.

A PRIMERA FUNÇÃO QUE CHAMEI DE isArray, É RESPONSÁVEL POR VERIFICAR SE O OBJETO PASSADO É UM ARRAY

A SEGUNDA FUNÇÃO É A ALMA DO NEGÓCIO, A FUNÇÃO callAjax.
Segue abaixo alguns detalhes sobre os parâmetros
@CAMPO = NOME DO CONTAINER(DIV) QUE VOCÊ DESEJA ATUALIZAR
@PARAMETRO = PARAMETROS QUE DESEJA PASSAR PARA A URL (PODE SER UM ARRAY)
@CAMPOVALOR = CAMPOS QUE POSSUEM OS VALORES REFERENTES AOS PARAMETROS (A SEQUENCIA DOS VALORES AQUI DEVEM ESTAR NA MESMA ORDEM QUE VOCÊ PASSOU O PARAMETRO. TAMBÉM PODE SER UM ARRAY)
@METODO = MÉTODO GET OU POST
@VARURL = URL QUE VOCÊ DESEJA CHAMAR




Módo de utilização

Passando parâmetros e valores simples (não Array)
//TODA VEZ QUE UM COMPONENTE COM O ID "button1" FOR CLICADO, REQUISITA A FUNÇÃO JS.
$("#button1").click(function(){
callAjax('p_email', 'email', 'email', 'GET', 'verificaemail.php');
});


Passando parâmetros e valores compostos (Array)
//TODA VEZ QUE UM COMPONENTE COM O ID "button1" FOR CLICADO, REQUISITA A FUNÇÃO JS.
//PASSANDO 3 PARAMETROS PARA A PAGINA verificaemail.php
parametros = new Array(3);
parametros[0] = 'email';
parametros[1] = 'idcliente';
parametros[2] = 'idade';

//PASSANDO 3 VALORES PARA A PAGINA verificaemail.php.
//AQUI OS VALORES (id dos campos input por exemplo) DEVEM ESTAR NA MESMA SEQUENCIA DOS PARÂMETROS
valores = new Array(3);
valores[0] = 'campo_email';
valores[1] = 'campo_idcliente';
valores[2] = 'campo_idade';

O que seria enviado para a pagina verificaemail.php, seria o seguinte Querystring:
?email=valordocampo&idcliente=valordocampo&idade=valordocampo

Para chamar a função, é a mesma coisa. Idêntica como chamamos pelo primeiro exemplo:
$("#button1").click(function(){
callAjax('p_email', parametros, valores, 'GET', 'verificaemail.php');
});

A função callAjax você pode colocar dentro de um arquivo .js por exemplo, incluindo junto com sua biblioteca de scripts.

Para chamar a função como no exemplo acima, vc deve chamar dentro do ready do Jquery. Ficaria assim:

$(document).ready(function() {

$("#button1").click(function(){
callAjax('p_email', parametros, valores, 'GET', 'verificaemail.php');
});

});


Blz pessoal?
Desculpem a demora para postar.
No outro post, espero postar algumas coisas a mais sobre o Zend Framework.
Abraços...t+