quarta-feira, maio 06, 2009

JQuery + Ajax Parte I

Olá galera neste post vou demostrar como fazer uma chamada AJAX com auxílio da JQeury, no Visal Studio 2005.

Primeiro crie um novo WebSite e adicione ao mesmo um Generic Handler, o generic handler é uma classe do que implementa o IHttpHandler, até que a expreriência me prove o contrário este recurso me parece perfeito pra trabalhar com AJAX, nela implementamos o método ProcessRequest.

public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");

}

no HttpContext temos Request e um Response (HTTP), já se mostrou util desde retornar

resultados plain text, como também um gerador de thunbnail.

Vamos por a mão na massa, para deixar o tutorial mais interessante vamos receber através da request.QueryString um nome fazer uma consulta em xml e retornar o nome o telefone ao cliente então adicione o arquivo

ao seu WebSite
 



o método ProcessRequest ficará assim.

public void ProcessRequest (HttpContext context) {
HttpResponse response = context.Response;
HttpRequest request = context.Request;
XmlDocument doc = new XmlDocument();
doc.Load(request.MapPath("contatos.xml"));
XmlNode node = doc.SelectSingleNode(string.Format("/contatos/contato[nome = '{0}']",request.QueryString["nome"]));
response.ContentType = "text/plain";
response.Write(node.ChildNodes[1].InnerXml);
response.End();

}

agora no vá para defualt.aspx
mas antes vá em http://code.google.com/p/jqueryjs/ baixe a ultima versão e adicione ao seu Default.aspx

o código seria este.


creio que a única coisa digna de comentário seja

$.get('Handler.ashx',{nome : _nome},function(data)
{

alert(data);

});

$.get faz uma chamada para handler.ashx passa nome como QueryString, quando recebe o retorno chama a function(data){} (data é o que ele recebeu).

você pode fazer o download do código fonte aqui.

http://br.geocities.com/newbie_x11/AJAX_I.zip

espero que tenha gostado até mais.

Sabe este editor do blogspot é norjento, desculpe pela má formatação, mas espero que tenha gostado.

Sem comentários: