Enviado para você por Penha através do Google Reader:
jQuery oferece bastante funcionalidades Ajax que podem facilitar a tarefa de enviar e fazer requisições asíncronas no servidor. O método mais simples de jQuery para carregar conteúdo através de Ajax é o load(). Esse post tratará de forma simples este comando para mostrar as diferentes formas de uso.
Sintaxe
load(url,parametros,callback)
Inicia uma requisição Ajax a URL solicitada com parâmetros opcionais. Você pode especificar uma opção de callback, que pode ser chamada quando a requisição está completa.
Argumentos
- url: A URL que é solicitada a requisição.
- parâmetros: Um objeto cuja propriedades são serializadas em uma série de parâmetros codificados corretamente e que se passam a requisição. Se utilizado, deve-se especificar se a requisição utiliza o método POST, caso contrário, se omitido, a requisição utiliza o método GET.
- callback: Uma função chamada após a solicitação já ter sido processada.
Vamos ao 1º exemplo:
$("#conteudo").load("arquivo.html");
Carregaria o conteúdo do arquivo.html dentro da div "#conteúdo". Um exemplo um pouco mais elaborado e completo poderia ser o seguinte:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ajax com jQuery</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $("input[type=button]").click(function(event) { $("#conteudo").load('arquivo.html',aviso()); }); }); function aviso(){ alert('O conteúdo será carregado agora!'); } </script> </head> <body> <p><input type="button" value="Carregar conteúdo" /></p> <div id="conteudo"></div> </body> </html>
Como podem ver, sua utilização é muito simples, mas existem alguns macetes. Po exemplo, quando o argumento "parâmetros" é especificado a requisição se faz sob o método HTTP POST, caso contrário, a requisição se faz de modo GET. Se quiser realizar uma requisição GET com os parâmetros, você pode incluí-la na URL. Mas neste caso você deve se assegurar de que a URL está devidamente codificada.
No exemplo seguinte utilizamos o valor do atributo "value" de três botões input para passar a um arquivo .php a ação que desejamos executar. O código que efetuaria a requisição Ajax no arquivo .php seria esse:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ajax com jQuery</title> <style type="text/css"> #box {border:1px solid #ccc; padding:5px} </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $("input[type=button]").click(function(event) { var acao = $(this).attr("value"); $("#box").load('requisicao.php',{acc:acao}); }); }); </script> </head> <body> <p><input type="button" value="Editar" /></p> <p><input type="button" value="Novo" /></p> <p><input type="button" value="Deletar" /></p> <div id="box"></div> </body> </html>
Já o arquivo requisicao.php se encarregaria de veriifcar os parâmetros via POST e retornar as ações pertinentes:
< ?php if($_POST['acc']=='Editar'){ // Acoes relacionadas a edicao echo 'A ação selecionada é editar'; }elseif($_POST['acc']=='Novo'){ // Acoes de criacao echo 'A ação solicitada é criar'; }else{ // Acao para deletar echo 'A ação solicitada é deletar'; } ?>
Na grande maioria da vezes iremos utilizar o método load() para retornar todo o conteúdo da requisição, mas as vezes pode ocorrer de você querer filtrar essa resposta. jQuery permite a você especificar um seletor na URL para filtrar os elementos que irão ser retornados. Por exemplo:
$('#box').load('meu_arquivo.html #conteudo')
Tudo que estiver dentro da div #conteudo no arquivo meu_arquivo.html será carregado dentro da div #box. O exemplo seguinte se encarrega de carregar todos os links que estão dentro do arquivo links.html:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ajax com jQuery</title> <style type="text/css"> #box {border:1px solid #ccc; padding:5px} a {display:block} </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function() { $("input[type=button]").click(function(event) { $("#box").load('links.html a'); }); }); </script> </head> <body> <p><input type="button" value="Carregar conteúdo" /></p> <div id="box"></div> </body> </html>
E o arquivo links.html seria da seguinte forma
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum sed diam nonumy eirmod tempor invidunt ut labor. Stet clita kasd gubergren consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua</p> <ul> <li><a href="http://www.pinceladasdaweb.com.br/blog/">Pinceladas da Web</a></li> <li><a href="http://www.cssnolanche.com.br">CSS no Lanche</a></li> <li><a href="http://www.cssnolanche.com.br/uploads/html5/">Exemplo de página em HTML5</a></li> <li><a href="http://twitter.com/pinceladasdaweb">Siga-me no Twitter</a></li> </ul>
Esse tutorial foi escrito a partir do original: Ajax con jQuery: el método load().
Isso pode lhe interessar:
- Ebook grátis de JankoAtWarpSpeed: Os melhores tutoriais
- Live event binding com jQuery 1.3
- jQuery Price Plugin
- Prototype vs. jQuery
- Link para imprimir página com JavaScript e jQuery
Já conhece o meu outro blog? O endereço é o: CSS no Lanche
Você ainda não está me seguindo no Twitter, o que está esperando para fazer isso?
Coisas que você pode fazer a partir daqui:
- Inscrever-se no Pinceladas da Web - XHTML, CSS, JavaScript e WebStandards usando o Google Reader
- Comece a usar o Google Reader para manter-se facilmente atualizado com todos os seus sites favoritos
0 comentários:
Postar um comentário