AJAX no GASweb. Mas e afinal, para que usamos o AJAX?



Documentos relacionados
PROGRAMAÇÃO PARA INTERNET. Fonte: Raul Paradeda

MANUAL DO ANIMAIL Terti Software

Ajax Asynchronous JavaScript and Xml

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail

II Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues UNIVEM - Prof. Elvis Fusco

Consulta de endereço através do Cep

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

AJaX Asy s nchronous s J avasc S ript p t a nd d XML

Repeater no GASweb. Regiões

A barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Omega Tecnologia Manual Omega Hosting

ALUNES MANUAL DO USUÁRIO. Guia rápido Alunes

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos.

INTRODUÇÃO À TECNOLOGIA SERVLETS

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

Instalação do OnSite

Apostila de. WordPress. Gustavo Teixeira da Cunha Coelho Henrique Gemignani Passos Lima. 11 de maio de Primeira Edição RC1

WEBDESIGN. Professor: Paulo Trentin Escola CDI de Videira

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Manual das funcionalidades Webmail AASP

Web Design Aula 11: Site na Web

Portal Sindical. Manual Operacional Empresas/Escritórios

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

Proxy. Krishna Tateneni Tradução: Lisiane Sztoltz Tradução: Marcus Gama

Tutorial Ouvidoria. Acesso, Utilização, Visualização das Manifestações e Resposta ao Manifestante

Desenvolvimento de Aplicações para Internet Aula 11

Manual do Instar Mail v2.0

GUIA ENVIO DE EXTRATO POR

Trecho retirando do Manual do esocial Versão 1.1

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Validando dados de páginas WEB

Configurando o IIS no Server 2003

MANUAL DE UTILIZAÇÃO. HELP SUPORTE e HELP - REMOTO (Versão de usuário: 2.0)

Sistema de Chamados Protega

Desenvolvendo Websites com PHP

Configurando DDNS no Stand Alone

Tutorial USERADM Como inserir conteúdo no Portal Transparência

MALA DIRETA 2000 ACESSANDO O SISTEMA: 1 - Dê um clique no botão Iniciar do Windows para abrir o menu Iniciar.

WORD. Professor: Leandro Crescencio Colégio Politécnico 1

MANUAL WEBMAIL HORDE-V.01 IBILCE/UNESP

Passo a Passo da instalação da VPN

W o r d p r e s s 1- TELA DE LOGIN

Programação Web Prof. Wladimir

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Manual do Google agenda. criação e compartilhamento de agendas

PASSO A PASSO SISTEMA DE REQUISIÇÃO ON-LINE

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

Ajax Asynchronous JavaScript and Xml

02 - Usando o SiteMaster - Informações importantes

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS. MÓDULO DO CERTIFICADOR MANUAL DE OPERAÇÃO Versão 2.4.6

Utilizando Janelas e Frames

Manual de Utilização do GLPI

Manual de criação de envios no BTG360

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET

Tutorial Web Mail. Acesso e Utilização. MPX Brasil Cuiabá/MT: Av. Mal Deodoro, 1522 B Centro Norte. Contato: (65) cuiaba@mpxbrasil.com.

GUIA INTEGRA SERVICES E STATUS MONITOR

Para participar de um mapa colaborativo usando o Cmap Tools

Criando um script simples

15/8/2007 Gerencia de Tecnologia da Informação Claudia M.S. Tomaz

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

Carregando dados do Banco de Dados MySQL através de uma tag SELECT

MANUAL DE CONFIGURAÇÃO

Personalizações do mysuite

Procedimentos para configurar o Monitoramento Agendado no D-viewCam

Web Services. Autor: Rômulo Rosa Furtado

Como acessar o novo webmail da Educação? Manual do Usuário. 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S.

Serviço Seguro de Mensagens Instantâneas

Acessando um Banco de Dados

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

DNS DOMAIN NAME SERVER

Manual de Instalação e Configuração do SQL Express

VVS Sistemas (21)

Apostila Site Personalizado

Manual 2010 Webmaster

Como funciona? SUMÁRIO

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

OFICINA BLOG DAS ESCOLAS

ROTEIRO DE INSTALAÇÃO

Configurando o DDNS Management System

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de ]

2.0.0.X. Storage Client. TecnoSpeed. Tecnologia da Informação. Manual do Storage Client

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

Perguntas Frequentes. Distribuidores

Youtube Sign Up Sign Up Upload

WF Processos. Manual de Instruções

Manual Replicação Manual VPN

MANUAL DE INSTRUÇÕES. Versão 1.0. Visão Transportador

MANUAL DE UTILIZAÇÃO

Programando em PHP. Conceitos Básicos

Transcrição:

Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente transparente ao usuário. Sabemos que todo o tipo de acesso a dados de um servidor de sites na internet roda em cima de requisições Web (Requisições via protocolo HTTP ao servidor de destino) e por resposta o servidor, também com o mesmo protocolo, retorna os dados solicitados, tais como HTMLs. Este processo normalmente não é notado na visão do usuário, mas é isso que acontece quando digitamos em nosso navegador de internet um endereço da Web. O AJAX por sua vez também roda em cima desta lógica. Mas e afinal, para que usamos o AJAX? Hoje esta tecnologia é utilizada para uma infinidade de processos, mas o que precisamos saber não é o que fazer com ele, mas sim saber como ele trabalha para podermos adequar tal tecnologia ao nosso dia-a-dia. Um exemplo básico da utilização de AJAX, é um refresh de página, sem que o usuário necessite fazê-lo. O programador que cria a página, programa uma requisição AJAX para que busque novos dados no servidor em um limite de tempo e então, também por Javascript, altera a visualização do usuário, talvez inserindo linhas em uma tabela ou algo do gênero, assim dando um aspecto de atualização automática. Veja o exemplo abaixo: <script language="javascript" type="text/javascript"> //variavel ajax var ajax = null; //função que faz a requisição ajax function requisicaoajax() //utilizado para requisições no browser Internet Explorer if (window.xmlhttprequest) ajax = new XMLHttpRequest(); //se a variável ajax for nula, logo o browser não suporta tal tecnologia if (ajax!= null) //abre a requisição ajax, passando o método de acesso, a url solicitada e o parâmetro sobre sincronia ajax.open('get', 'http://localhost:51550', false); //seta a funcao que sera chamada quando o ajax for retornado ajax.onreadystatechange = statusajax; //inicia o tranporte ajax.send(null); //função que trata o retorno ajax function statusajax() //caso o status do ajax esteja ok, então chama a função retornoajax enviando o retorno da requisição como parâmetro if (ajax.readystate == 4 && ajax.status == 200) retornoajax(ajax.responsetext); 1/9

//função que é chamada quando o ajax for retornado function retornoajax(response) //dá um alerta no texto de retorno alert("ola o AJAX Retornou"); requisicaoajax(); </script> Sendo que: 1. Criamos um objeto para o transporte do AJAX; 2. Setamos ao objeto as diretivas da solicitação como a url a ser solicitada e o método. O terceiro parâmetro é se deve ser assíncrono ou não, no caso estamos passando false, para o Javascript aguardar o retorno da requisição; 3. Indicamos qual será a função que irá fazer o tratamento de estados da requisição. O status da requisição é retornado pelo browser para tratamento a cada vez que este status muda. Você pode ver a listagem completa de status aqui: http://www.w3.org/protocols/rfc2616/rfc2616-sec10.html Quando dizemos: ajax.onreadystatechange = statusajax; Estamos indicando que toda a vez que este AJAX mudar de status, ele deve chamar esta função. No nosso caso, o único status interessante é o status de requisição ok. Se a requisição retornar um status ok, então a partir daí trabalharemos em nosso refresh, como dito acima, onde trataríamos os dados retornados e aplicaríamos na visualização do usuário. Uma coisa que devemos considerar e que por sua vez é de grande importância, é que não podemos fazer requisições AJAX a outro domínio diferente ao que o site atual roda. Este exemplo é bem simples, mas apenas para podermos ter uma noção de como funciona uma requisição AJAX. Métodos Seguem abaixo alguns dos métodos do objeto de conexão assíncrona. open(mode, url, boolean) mode: Tipo da requisição, GET ou POST; url: Url do objeto solicitado no modo assíncrono, por questões de segurança, os browsers não permitem que a URL esteja em um servidor diferente da página que está fazendo a solicitação; boolean: true (assíncrono) ou false (síncrono). send() É o método SEND que ativa a conexão e faz a requisição de informações ao documento aberto pelo método OPEN. Este método possui somente um parâmetro que serve para enviarmos dados extras ao documento que estamos acessando. Usamos este parâmetro quando, por exemplo, no método OPEN, 2/9

acessamos o documento com POST ao invés de GET. Neste caso os dados do POST são passados neste parâmetro de SEND. Carregando um Texto Veja no exemplo abaixo como podemos carregar um arquivo txt do nosso servidor <div id="texto"></div> <input type="button" value="carregar" onclick="carregartextfile()"/> function carregartextfile() if (window.xmlhttprequest) ajax = new XMLHttpRequest(); document.getelementbyid("texto").innerhtml = " Carregando... "; if (ajax) ajax.open('get', 'http://localhost:51550/texto.txt', true); ajax.onreadystatechange = function () if (ajax.readystate == 4) if (ajax.status == 200) document.getelementbyid("texto").innerhtml = ajax.responsetext; ajax.send(null); No exemplo acima criamos um arquivo TEXTO.TXT ('http://localhost:51550/texto.txt') com um conteúdo qualquer e estamos fazendo a chamada deste arquivo com uma requisição de AJAX e logo em seguida estamos mostrando o conteúdo na div que tem o ID= texto. Passando uma URL com parâmetros Nós podemos fazer a chamada de uma URL no método OPEN e passar parâmetros via querystring. Desta forma, o código servidor pode ler estes dados, processar e retornar o resultado. No exemplo a seguir vamos criar uma pagina ASHX(Handler do ASP.NET) que vai pegar dois parâmetros, somar e devolver o resultado via AJAX para a página inicial. Função Javascript Calculadora: function Calculadora() if (window.xmlhttprequest) ajax = new XMLHttpRequest(); if (ajax) document.getelementbyid("resultado").innerhtml = "Calculando..."; ajax.onreadystatechange = resultado var v1 = document.getelementbyid("v1").value; var v2 = document.getelementbyid("v2").value; ajax.open('get', 'http://localhost:51550/calculadora.ashx?v1='+v1+'&v2='+v2, true); ajax.send(null); 3/9

function resultado() if (ajax.readystate == 4) if (ajax.status == 200) document.getelementbyid("resultado").innerhtml = ajax.responsetext; Código HTML: <input type="button" value="somar" onclick="calculadora()"/> <label id="resultado"></label> Código do arquivo Calculadora.ashx: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace AjaxSamples /// <summary> /// Summary description for Handler1 /// </summary> public class Handler1 : IHttpHandler public void ProcessRequest(HttpContext context) double v1 = Convert.ToDouble(context.Request.QueryString["v1"]); double v2 = Convert.ToDouble(context.Request.QueryString["v2"]); context.response.write(v1+v2); public bool IsReusable get return false; Note que é aqui que o resultado é processado e escrito na página na linha context.response.write(v1+v2);. Porém como nossa requisição foi via AJAX criada na função calculadora(), o resultado vai aparecer na página que originou a chamada. Os exemplos acima você pode baixar em www.gasweb.com.br/downloads/samples/ajaxsamples.zip 4/9

AJAX no GASweb Bem como vimos até aqui o AJAX exige um bom conhecimento de JAVASCRIPT, HTML e XML, mas nós facilitamos todo esse processo no GASweb. O GASweb tem um framework para trabalhar com AJAX que facilita muito a vida do desenvolvedor. Este framework é composto basicamente de um controle de servidor que se chama gajaxpanel e de funções JAVASCRIPT prontas para serem usadas nas aplicações. Toda a aplicação gerada com o GASweb faz chamadas de AJAX por padrão. Quando você cria uma página de dados no GASweb todos os controles que fazem requisições ao servidor vão fazer estas requisições com AJAX, sem que você precise usar nenhuma linha de código. Veja no código abaixo gerado pelo GASweb: <GAjax:gAjaxPanel id="mainajaxpanel" runat="server" ClientEvents-OnRequestStart="OnRequestStart" ClientEvents-OnResponseEnd="OnResponseEnd" style="width:100%;height:100%;position:absolute;left:0px;top:0px"> Note que nós temos 2 eventos no gajaxpanel que são responsáveis pelo início e fim da requisição de AJAX. O código destas funções você encontra no arquivo common.js que o GASweb. Calculadora no GASweb Vamos fazer agora no GASweb o mesmo exemplo da calculadora feito acima. Primeiro vamos criar uma página ASPX na nossa solução. Coloque os controle de ajaxpanel TextBox e o botão para fazer o calculo. 5/9

Na propriedade text do Label4 faça a fórmula para somar os dois valores: Veja o resultado no browser: Customizando chamadas AJAX no GASweb Podemos fazer chamadas de ajax usando o framework do GASweb. Vamos mostrar agora um exemplo simples de como isso funciona. Imagine que você gostaria de enviar um e-mail logo após fazer um cadastro de um cliente ou algo parecido. 6/9

E logicamente você quer fazer isso usando AJAX do GASweb, então o que nós precisamos fazer nesta situação: 1. Criar as variáveis de ambiente com as configurações do remetente e servidor do e-mail: 2. Precisamos de uma classe de envio de e-mails: a. Crie uma pasta dentro de App_Code (figura 1) b. Crie uma Classe c# dentro da pasta criada (figura 2) O Código desta classe você encontra baixando o exemplo desta aplicação em nosso site. 7/9

3. Criar uma página de dados no GASweb com algumas características especiais como: a. Somente aceita inclusão de dados b. Não terá visualização 4. Fazer o override da função ExecuteLocalCommandRequest na página. 5. Fazer a chamada AJAX para envio do EMAIL. 8/9

Código do evento Click Aqui esta a chamada de AJAX do GASweb. Como podemos observar, o AJAX é muito rico e bastante extenso, mas o importante de todo esse conteúdo é você conhecer as possibilidades que o GASweb tem pra lhe oferecer. No próximo artigo vamos falar do controle Repeater, que é uma excelente controle ASP.NET para visualização de dados. Você pode baixar esta solução e testar no seu GASweb no link www.gasweb.com.br/downloads/samples/emailajax.zip 9/9