AJAX
Eduardo Camilo Inacio
Felipe Gonçalves Botelho
Pedro Henrique Rocha Ugioni
Vinicius da Silveira Segalin
UFSC – Novembro, 2010
Sistemas de Informação
INE5612 – DSO II
Introdução

Internet: rede para troca de documentos (HTML)

Sistema de requisição/resposta síncrono

Aplicações Web totalmente no lado servidor

AJAX – Asynchronous Javascript + XML

Javascript: pequenos tratamentos no lado cliente

Exposição e interação dinâmica usando o DOM

Intercâmbio e manipulação de dados usando XML e XSLT


Recuperação assíncrona de dados usando o objeto
XMLHttpRequest e XMLHttpResponse
JavaScript fazendo a junção entre os elementos
Javascript




Linguagem de programação .
Realizar ações dentro do âmbito de uma
página web.
Lado do cliente, porque é o navegador que
suporta a carga de processamento.
É a linguagem de programação do lado do
cliente mais utilizada.
Javascript

Evolução da linguagem: DOM, CSS, XHR
Javascript

Evolução da linguagem: DOM, CSS, XHR
Javascript

Evolução da linguagem: DOM, CSS, XHR
Javascript

Evolução da linguagem: DOM, CSS, XHR
Javascript

Evolução da linguagem: DOM, CSS, XHR
.aspecto1 {
border: 1px solid #CCC;
elemento.className = “aspecto1″;
padding: 10px 5px 6px 5px;
background-color: #E4E4E4;
color: #666;
}
.aspecto2{
background-color:#F1D59E;
border: #F2BE84 5px solid;
color: #666;
font-family: “Lucida Sans Unicode”, Verdana, Arial, Georgia;
font-size: 12px;
width:200px;
padding:10px;
}
Javascript

Evolução da linguagem: DOM, CSS, XHR
XMLHttpRequest(XHR)
API disponível em linguagens de script para navegadores web
É utilizada para enviar requisições HTTP ou HTTPS diretamente para um servidor web
Carrega os dados de resposta do servidor diretamente de volta ao script.
Os dados podem ser recebidos do servidor como texto XML ou como texto puro.
Dados da resposta podem ser usados diretalmente para alterar o DOM do documento
atual ativo na janela do navegador sem carregar um novo documento de página.
Os dados de resposta podem também ser avaliados pelo script do lado cliente.
JSON --> objeto de dados
Javascript

Desenvolvimento de Frameworks: JQuery,
Prototype, Mootools, ExtJs
jQuery é um framework para ajudar os desenvolvedores a se concentrarem na lógica dos
sistemas da web e não nos problemas de incompatibilidade dos navegadores atuais.
Seu lema é: "Escrever menos e fazer mais".
$("#header")
id="header“
$("h3")
todos <h3>
$("div#content .photo")
$("ul li:first")
class="photo“ <div id="content">
primeiro<li> do<ul>
Javascript

Vantagens e desvantagens
Amplamente disseminada
Qualquer computador que tenha um navegador
moderno
Roda em diferentes navegadores, sobre diferentes
sistemas operacionais
Javascript

Vantagens e desvantagens
falta de padronização;
ambiente de programação pouco amigável
(não é fácil depurar programas em JavaScript)
Aplicações

Google, Gmail, GoogleMaps

Microsoft: Hotmail

Sites de comércio eletrônico

Aplicações Web diversas
Gmail
Exemplo
var xmlhttp = null;
function pegaConteudo() {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined' ) {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false ;
}
}
...
Exemplo – continuação...
…
if (xmlhttp) {
xmlhttp.onreadystatechange = processadorMudancaEstado;
xmlhttp.open("GET", "/dados.html");
xmlhttp.setRequestHeader('Content-Type','text/xml');
xmlhttp.setRequestHeader('encoding','ISO-8859-1');
xmlhttp.send(null);
}
}
Exemplo – continuação...
function processadorMudancaEstado () {
if ( xmlhttp.readyState == 4) { // Completo
if ( xmlhttp.status == 200) { // resposta do servidor OK
document.getElementById ( "div_conteudo"). innerHTML = xmlhttp.responseText ;
} else {
alert( "Problema: " + xmlhttp.statusText );
}
}
}
Dúvidas?
Download

Eduardo Camilo Inacio Felipe Gonçalves Botelho Pedro