Ajax, Cookies e Webstorage
Ajax, Cookies e Webstorage
Material Teórico
Ajax, Cookies e Webstorage
Revisão Textual:
Profa. Esp. Vera Lídia de Sá Cicarone
Ajax, Cookies e Webstorage
• Armazenamento de informação em JS
• Ajax
Atenção
Para um bom aproveitamento do curso, leia o material teórico atentamente antes de realizar as
atividades. É importante também respeitar os prazos estabelecidos no cronograma.
5
Unidade: Ajax, Cookies e Webstorage
Contextualização
jQuery é uma biblioteca JavaScript fornecida gratuitamente de código open source. Sua API
é utilizada, por exemplo, como funções de navegação, criação de animações e efeitos, funções
para registrar/tratar eventos e funções para desenvolver aplicações AJAX. Nesta unidade, iremos
estudar também como é possível utilizar os recursos do jQuery e Javascript para armazenamento
de informações. Então não vamos mais perder tempo e vamos trabalhar!
6
Armazenamento de informação em JS
Cookies
São informações gravadas por uma aplicação web na máquina cliente. Para cada domínio
da aplicação, é gerado um arquivo txt, que contém os cookies.
Os cookies são formados por um par composto de:
• Nome do cookie
• Valor do cookie
Os cookies são mantidos na máquina cliente enquanto seu prazo de “vida” não expirar ou
enquanto o usuário não limpá-los através do navegador.
Como padrão, podemos criar cookies de até 10Kb. Isso quer dizer que podemos ter um
cookie de 10k ou 50 cookies no máximo, que totalizam juntos 10k. Esses valores correspondem
aos cookies de um determinado domínio. Esses valores podem variar conforme o browser.
7
Unidade: Ajax, Cookies e Webstorage
Como utilizar:
• para gravar um cookie
$.cookie(“nomedocookie”, “valor do cookie”);
8
• para apagar um cookie
$.removeCookie(“nomedocookie”, null);
Abaixo o código html com os respectivos names e ids para poder ter acesso via jQuery.
9
Unidade: Ajax, Cookies e Webstorage
A sintaxe abaixo demonstra os comandos para limpar as informações dos elementos html.
Com essa API, o desenvolvimento fica mais fácil e temos algumas vantagens sobre os
cookies; a mais significativa seria a capacidade de armazenamento, que varia, de acordo com o
navegador, de 5MB até 10MB (IE).
10
A Web Storage oferece dois tipos de armazenamento:
sessionStorage e localStorage.
• sessionStorage
Disponível apenas para a janela (aba) que criou o dado até que esta seja fechada.
• localStorage
Compartilhada por todas as janelas (abas) abertas pela aplicação, e os dados só são
apagados caso sejam deletados pela aplicação ou pelo usuário.
Como usar (os métodos são os mesmos para o objeto sessionStorage e localStorage):
Para gravar dados:
• setItem(nome, valor)
Ex: localStorage.setItem(“nome”,”Maria”);
Ex: sessionStorage.setItem(“nome”,”Maria”);
11
Unidade: Ajax, Cookies e Webstorage
A sintaxe abaixo demonstra os comandos para limpar as informações dos elementos html.
Ajax
O jQuery oferece uma vasta documentação para se trabalhar as requisições AJAX. Quando
trabalhamos com AJAX, utilizamos um objeto nativo dos navegadores que permite a comunicação
assíncrona com o servidor.
12
Objeto XMLHttpRequest
O objeto utilizado no AJAX é o XMLHttpRequest, manipulado através de javascript e que
efetua a comunicação com o servidor através de requisições HTTP.
É um objeto nativo padronizado nos navegadores atuais, mas implementado como controle
ActiveX nas versões antigas do Internet Explorer, isto é, 5 e 6. Isso significa que, antes de criá-lo,
é necessário fazer uma verificação.
Os métodos disponíveis são apenas dois: open() para abrir a requisição e send() para enviar
os dados. E, para receber, a propriedade é a ResponseXML.
function loadXMLDoc()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//código de retorno aqui;
}
}
xmlhttp.open(“GET”,url,true);
xmlhttp.send();
}
Toda a comunicação e verificação é feita pela função do jQuery; precisamos apenas informar
os dados. Sendo assim, vamos à primeira função.
$.ajax()
É a função que mais oferece funcionalidades e, devido a isso, exige um pouco mais de estudo
para ser compreendida. E todas as funções mais específicas que serão apresentadas adiante
utilizam esta função para iniciar as requisições.
Para haver a requisição, você precisa informar um seletor que vai dar início à execução, o
endereço do arquivo que contém os dados que serão retornados, o tipo de dado retornado e o
que será feito com ele.
13
Unidade: Ajax, Cookies e Webstorage
Vejamos um exemplo:
Quando o botão “enviar” do formulário for clicado, será iniciada a requisição. Utilizando o
método POST, que é mais seguro para dados sensíveis, em seguida enviamos a dupla variável/
valor para o arquivo ‘dados.php’. Havendo sucesso na requisição, as informações retornadas
pelo arquivo serão mostradas em uma div.
Não chega a ser tão complicado quanto eu disse, não é mesmo?
Configurações
Vejamos, agora, as opções disponíveis. Essas informações podem ser encontradas na
biblioteca do jQuery.
• asinc – Como a requisição é feita com AJAX, ela é assíncrona. Se você quiser sincronizar
a requisição, deve setar true para esta variável. Mas aviso que pode causar instabilidade
na aplicação.
• beforeSend – Para alterar o cabeçalho da requisição ou realizar operações antes do envio
da requisição, utilize esta função.
• cache – As páginas requisitadas via ajax() são armazenadas pelo navegador para agilizar
o processo. Se você não quer que a página fique em cache, atribua false.
• complete – Completando a requisição, esta função define o que deve ser feito. Vem depois
das funções success e error.
• contentType – Define o myme type da requisição. O padrão é application/x-ww-form-
urlencoded. que é o myme type enviado quando submetemos formulários.
• data – São os dados que serão passados para o arquivo definido em url. O formato deve ser
variável/valor e, se você não deixar nesta formatação, a função formatará automaticamente.
• dataFilter – A função é garantir que os dados retornados estejam nas diretrizes esperadas.
• dataType – Você define qual o tipo de dado a ser retornado pela requisição. Os valores
possíveis são: xml, html, json, sjonp, script e text. Configurando esta opção, você permite
uma avaliação dos dados que são retornados. Se esta opção for omitida, a função
identifica o tipo de dado, mas não avalia.
• error – Função que entra em ação caso a requisição retorne erro.
• global – Indica se os eventos manipuladores definidos em .ajaxSend() e .ajaxError()
valerão na requisição atual. Por padrão está setado para true.
14
• ifModified – Se você quer que uma requisição seja retornada somente se o conteúdo dele
mudou em relação à última requisição, configure esta variável para true.
• processData – Esta variável é configurada para processar e transformar as informações
passadas para o padrão application/x-www-form-urlencoded. Se, por algum motivo, você
não quer esta formatação, como mandar no formato xml para o servidor, atribua false
para esta variável.
• password e username– Senha e usuário a serem utilizados em caso de autenticação HTTP.
• successs – A requisição retornando sucesso, é executada esta função, que recebe os dados
enviados pelo arquivo.
• timeout – Se você quer limitar o tempo para a execução da requisição, defina um valor
em milissegundos. Não retornando sucesso dentro do tempo definido, uma mensagem de
erro, configurada por você na função error, será mostrada.
• type – O método usado para a requisição. Aceita GET ou POST. O padrão é GET.
• url – Endereço do arquivo que receberá a requisição.
Existem outras configurações, mas conhecer essas acima acredito que seja suficiente para
realizar as atividades.
15
Unidade: Ajax, Cookies e Webstorage
16
Material Complementar
17
Unidade: Ajax, Cookies e Webstorage
Referências
18
Anotações
19
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil
Tel: (55 11) 3385-3000