ajax sem mistérios, uma introdução ao prototype

23
Anselmo Luiz Édem Battisti, Alexandre Magno Semmer

Upload: fleur-mcconnell

Post on 03-Jan-2016

14 views

Category:

Documents


0 download

DESCRIPTION

Anselmo Luiz Édem Battisti, Alexandre Magno Semmer. Ajax sem mistérios, uma introdução ao prototype. Prototype. Biblioteca JavaScript Características Web 2.0 Versão 1.5.1.1 Tamanho 97 Kb. Função $. document.getElementById(); Recebe como parâmetro o ID de um elemento Alguns métodos: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ajax sem mistérios, uma introdução ao  prototype

Anselmo Luiz Édem Battisti, Alexandre Magno Semmer

Page 2: Ajax sem mistérios, uma introdução ao  prototype

Prototype

Biblioteca JavaScript Características Web 2.0 Versão 1.5.1.1 Tamanho 97 Kb

Page 3: Ajax sem mistérios, uma introdução ao  prototype

Função $

document.getElementById(); Recebe como parâmetro o ID de um

elemento Alguns métodos:

hide(); show(); addClassName();Mais:

http://www.prototypejs.org/api/element

Page 4: Ajax sem mistérios, uma introdução ao  prototype

Função $$

Retorna os elementos de uma classe CSS

function funcao$$(){var f = $$('div#myDiv .estilo');for(x=0; x<f.length; x++){

$("retorno").innerHTML += f[x].value + "<br>";

alert("Escreveu : " + f[x].value);

}}

Page 5: Ajax sem mistérios, uma introdução ao  prototype

Função $A

Cria um objeto Enumerable Estrutura muito simples que permite iterações

sem a necessidades de laços FOR

var vetor = new Array("laranja", "banana", "abacate", "bicicleta");

var n = $A(vetor);n.each(function(no){

alert(no)});

Page 6: Ajax sem mistérios, uma introdução ao  prototype

Função $F

Devolve o valor de um campo em um formulário, recebendo como parâmetro o ID do elemento

Equivalente ao .value

Page 7: Ajax sem mistérios, uma introdução ao  prototype

HTML e DOM

HyperText Markup Language(Linguagem de Marcação de Hipertexto)

Document Object Model (Modelode Objetode Documentos)

DOM representa os documentos HTML como uma hierarquia de nós

Page 8: Ajax sem mistérios, uma introdução ao  prototype

Easy DOM Creator

Necessidade de criar objetos HTML em tempo de execução.

Estrutura principal da criação de HTML com Easy DOM Creator :

$.TAGPAI ( { atributo1 , atributo2} ,$.TAGFILHO1({ atributo1 , atributo2} ,nome),$.TAGFILHO2({ atributo1 , atributo2} ));

Page 9: Ajax sem mistérios, uma introdução ao  prototype

Easy DOM Creator

Elementos CSS e JavaScript

var texto = $.INPUT({type:”text”, name:”texto”,

value=“”});texto.setAttribute(“onclick”,”alert(this.value)”); texto.setAttribute(“style”,”color:red”); form.appendChild(texto);

Page 10: Ajax sem mistérios, uma introdução ao  prototype

Eventos

$(id).setAttribute(“evento”,”funcao”);$(“botao”).setAttribute(“onClick”,”alert(‘ola mundo’)”);

Event.observe(“ID”, “evento”,”funcao”);Event.observe(“botao”,”onClick”,”alert(‘ola mundo’);

Event.observe(window,'load',function(){ Event.observe('ID','ACAO',FUNCAO); });

Page 11: Ajax sem mistérios, uma introdução ao  prototype

Orientação a Objeto Prototype oferece o

Class.create() var Animal = Class.create();Animal.prototype={

initialize : function(name,sound){this.name = name;this.sound = sound;

},speak : function(){

alert (this.name + "says:" + this.sound);}

};var cobra=new Animal("Silvo" , "Sheeeeeshee“);cobra.speak();var gato=new Animal("Miado" ,"Miauouo");gato.speak();

Page 12: Ajax sem mistérios, uma introdução ao  prototype

AJAX

Asyncronous Javascript And XML Solicitações assíncronas de

informações Aplicações WEB mais dinâmicas e

criativas AJAX não é uma tecnologia, são

varias

Page 13: Ajax sem mistérios, uma introdução ao  prototype

AJAX incorpora em seu modelo: Apresentação baseada em padrões,

usando XHTML e CSS; Exposição e interação dinâmica usando

o DOM; Intercâmbio e manipulação de dados

usando XML e XSLT e JSON; Recuperação assíncrona de dados

usando o objeto XMLHttpRequest; Javascript unindo todas elas em

conjunto.

Page 14: Ajax sem mistérios, uma introdução ao  prototype

Política de Origem

Segurança dos usuários. 3 parâmetros:

Protocolo URL Porta

Caso algum desses parâmetros diferir da pagina atualmente exibida, ocorrera uma exceção e a chamada ao AJAX será abortada.

Page 15: Ajax sem mistérios, uma introdução ao  prototype

A Classe Assíncrona XMLHttpRequestFunction ajaxInit(){

Var xmlhttp;try{

xmlhttp = new XMLHttpRequest();}catch(ee){

try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}catch(e){ try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }catch(E){ xmlhttp = false; }

}}

Return xmlhttp;}

Page 16: Ajax sem mistérios, uma introdução ao  prototype

Objeto AJAX do Prototype

O Prototype oferece três objetos para a manipulação de conexões assíncronas, todos os 3 possuem métodos comuns o que facilita o seu aprendizado.

asynchronous contentType encoding method parameters

Page 17: Ajax sem mistérios, uma introdução ao  prototype

Ciclo de vida da chamada em AJAX

Created; Initialized; Requestsent; Response being received ( Pode

ocorrer várias vezes, a cada novo pacote HTTP chegar.)

Response received, request complete

Page 18: Ajax sem mistérios, uma introdução ao  prototype

Funções de acesso para cada fase

onCreate onComplete onFailute

Page 19: Ajax sem mistérios, uma introdução ao  prototype

Ajax.Updater

Utilizado quando os dados recebidos do servidor estão em formato HTML.

Var myAjax = new Ajax.Updater(“ id do elemento“ ,‘pagina.php' ,{method: 'get' ,parameters:$(calculadora).serialize()

});

Page 20: Ajax sem mistérios, uma introdução ao  prototype

Ajax.Request

É o mais utilizado e ele possui uma série de funções que o tornam ideal em diversas situações.

New Ajax.Request(“pagina.php” ,{onSuccess:function(retorno){

alert(retorno);}

}) ;

Page 21: Ajax sem mistérios, uma introdução ao  prototype

JSON

Javascript Object Notation, é um formato leve para intercâmbio de dados computacionais.

Alternativa para XML em AJAX. Função eval() para analisar uma

string JSON.

Page 22: Ajax sem mistérios, uma introdução ao  prototype

JSON

{'cidades':[{'cdg':'1','nm':'Tupãssi'},{'cdg':'2','nm':'Toledo'},{'cdg':'3','nm':'Cascavel'},{'cdg':'4','nm':'PatoBranco'}]}

Page 23: Ajax sem mistérios, uma introdução ao  prototype

Ajax.PeriodicalUpdater

Funciona da mesma forma como o Ajax.Updater, a diferença é que este método permite que sejam feitas chamadas AJAX sem a intervenção do usuário.

New Ajax.PeriodicalUpdater('data' , 'data.php'

{method: 'get' ,frequency:3

});