SlideShare uma empresa Scribd logo
AJAX? Não!!
Asynchronous Javascript and...
       JSON! AJAJ!!

           Lucas Brasilino
      <lucas.brasilino@gmail.com>
  Procuradoria Geral da República - MPF
Agenda
●
    Tipos de aplicações;
●
    O que AJAX ?;
●
    Método de transporte AJAX;
●
    Aprenda AJAX em 24 segundos;
●
    Exemplo de aplicação tradicional;
●
    O que JSON ?;
●
    Uso do JSON em Javascript e PHP;
●
    Exemplo prático.
Tipos de aplicações
●
    Aplicações Desktop:
    –   Instalado e executado em seu computador
         ●
             Eventualmente pode acessar algum site para efetuar
             alguma atualização de código/base de dados/etc.
    –   Ótimo layout: geralmente utilizando componentes
        (widgets) do sistema operacional.
    –   Ótima interatividade: pode-se digitar dados, utilizar
        menus, atualizar campos, etc, praticamente sem
        nenhum tempo de espera.
Tipos de aplicações
●
    Aplicações Web:
    –   Código sendo executado no servidor Web
         ●
             Excluíndo-se pequenas rotinas que são executadas no
             navegador.
    –   Layout definido pelos webmasters
    –   Média interatividade
         ●
             Baseada em links e submissão de formulários;
         ●
             Alto tempo de espera do resultado destas interações;
         ●
             A cada interação, o servidor envia todo o conteúdo da
             nova página.
O que é AJAX ?
●
    Seu objetivo principal é melhorar a interatividade da
    aplicação Web, aproximando-a da aplicação Desktop;
●
    Aplicação Web com AJAX não depende da resposta
    do servidor Web a uma dada requisição, nem as
    requisições dependem da interação (evento) do
    usuário;
●
    Desta forma permite atualizar partes da página Web
    ao invés de recarregá-la novamente, diminuindo o
    tempo de espera do usuário e aumentando a
    interatividade.
O que é AJAX ?
●
    É o uso de uma coletânea de tecnologias:
    –   Muito conhecidas:
         ●
             HTML/XHTML;
         ●
             Javascript;
         ●
             DOM – Document Object Model;
         ●
             XML;
         ●
             HTTP.
    –   Pouco conhecida:
         ●
             Objeto XMLHttpRequest.
Modo de transporte de dados
    entre servidor e cliente web
●
    Geralmente utiliza-se XML


        navegador               servidor


                      XML
Aprenda AJAX em 24 segundos
var oHTTPReq = new XMLHttpRequest();

oHTTPReq.open('GET','consulta.php',true);

oHTTPReq.onreadystatechange = trataResposta;

oHTTPReq.send(null);
Aprenda AJAX em 24 segundos

function trataResposta() {

    if (oHTTPReq.readyState == 4)

      if (oHTTPReq.status == 200) {

          var oXMLResp = oHTTPReq.responseXML;

          atualizaPagina (oXMLResp);

      }

}
Exemplo de aplicação
           Ouvidoria


oXMLResp:

<funcionario>
 <nome>João José da Silva</nome>
 <endereco>Av.Conde da Boa Vista,1024</endereco>
 <cep>50070-060</cep>
</funcionario>
Exemplo de aplicação

function atualizaPagina (oXML) {

    oTags = oXML.getElementsByTagName(“funcionario”);

    sNome = oTags[0].firstChild.nodeValue;

    sEnd = oTags[1].firstChild.nodeValue;

    sCep = oTags[2].firstChild.nodeValue;

 //utiliza as variáveis acima para atualizar a
 //página Web.
}
O que é JSON ?
●
    Javascript Object Notation
    –   Um formato leve de troca de informações;
    –   Inerente ao Javascript;
    –   Pode ser utilizado em outras linguagens utilizando-
        se API's específicas;
    –   Representação de objetos e arrays, bem como
        tipos simples, de forma serializada;
    –   Fácil para humano ler e para máquina analisar.
O que é JSON ?
●
    Array:
     [ “valor1”, “valor2”, ... ]
     – Exemplo:
    oFruta = new Array('laranja','pera','maçã');
     – Resultado:

     [“laranja”,”pera”,”maçã”]
O que é JSON ?
●
    Objeto:
    { “atributo1”:“valor1”,
       “atributo2”:“valor2”, ... }
    – Exemplo:
    oFuncionario = new Object();
    oFuncionario.nome = “Jose”;
    oFuncionario.endereco = “Av. Conde”;
    – Resultado:
    { “nome”:”Jose”,”endereco”:”Av. Conde” }
Uso do JSON em Javascript

●   Utilizando a função 'eval()'
    –   Transforma dados serializados em
        objetos/array/tipos primitivos.
    –   Não deve ser utilizado pois é vulnerável a algumas
        injeções de código.
Uso do JSON em Javascript

●
    Utilizando os métodos parseJSON() e
    toJSONString()
    –   Disponível em: http://www.json.org/json.js
    –   string.parseJSON();
         ●
             Analisa a string JSON e retorna objeto.
    –   object.toJSONString();
         ●
             Analisa o objeto e retorna a string JSON.


    LEMBRETE! Tipos array, boolean, date, number e 
     string também são objetos em Javascript
Novo exemplo
                 Ouvidoria

function trataResposta() {

    if (oHTTPReq.readyState == 4)

      if (oHTTPReq.status == 200) {

          var sJSONResp = oHTTPReq.responseText;

          atualizaPagina (sJSONResp);

      }

}
Novo exemplo
               Ouvidoria

sJSONResp:


{"nome":"João José da Silva",
 "endereco":"Av. Conde da Boa Vista 1204",
 "cep":"50070-060"}
Exemplo de aplicação

function atualizaPagina (sJSON) {

    oFuncionario = sJSON.parseJSON();

 //utiliza oFuncionario.nome, oFuncionario.endereco,
 //e oFuncionario.cep para atualizar a
 //página Web.
}
Uso do JSON em PHP
●
    Extensão php-json
    –    http://www.aurore.net/projects/php-json/
    –   Integrado ao PHP 5.2 e habilitado por default
●
    Exemplos:
$frutas = array(“laranja”,”pera”,”maçã”);
$str_frutas = json_encode($frutas);
$funcionario = json_decode($str_funcionario);
Vamos aos exemplos!
Para finalizar!


            Não existe AJAJ!!

 Mesmo que você não utilize XML, apenas o
fato de se utilizar o objeto XMLHttpRequest 
você está desenvolvendo aplicações AJAX!!
Dúvidas??



         Obrigado!!

       Lucas Brasilino
<lucas.brasilino@gmail.com>

Mais conteúdo relacionado

PDF
Boas práticas de API Design
PDF
Web 2.0 e AJAX - Parte 2 / 3
PPT
PHP e Ajax com XAJAX
PDF
Realtime com node.js e socket.io
PPT
Aula javascript
PDF
Javascript aplicado
ODP
Introdução ao JavaScript e DOM
PDF
Precisamos falar sobre MERN stack
Boas práticas de API Design
Web 2.0 e AJAX - Parte 2 / 3
PHP e Ajax com XAJAX
Realtime com node.js e socket.io
Aula javascript
Javascript aplicado
Introdução ao JavaScript e DOM
Precisamos falar sobre MERN stack

Mais procurados (19)

PDF
Ajax em java
PPTX
Introdução ao MongoDB II
PDF
T11_LM3: Subalgoritmose colisões (2013-2014)
PDF
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
PDF
GET /conceitos HTTP/1.1
PDF
PhantomJS - O Fantasminha Camarada
PPT
introdução a ajax
ODP
Introdução JavaScript e DOM
PDF
Introdução ao MongoDB
DOCX
Hash md5 php
PDF
Conhecendo mundo Node.js
PDF
Minicurso javascript
ODP
Tw Dwr 2007 Ap01
PDF
JavaScript Hacks
PPT
Ajax (Asynchronous Javascript And Xml)
PDF
Introdução aos aplicativos tipo canvas
PDF
Servlet jsp tomcat 8
PPTX
Javascript - Agora a coisa ficou séria.
PDF
Conhecendo o CouchDB - TDC2011
Ajax em java
Introdução ao MongoDB II
T11_LM3: Subalgoritmose colisões (2013-2014)
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
GET /conceitos HTTP/1.1
PhantomJS - O Fantasminha Camarada
introdução a ajax
Introdução JavaScript e DOM
Introdução ao MongoDB
Hash md5 php
Conhecendo mundo Node.js
Minicurso javascript
Tw Dwr 2007 Ap01
JavaScript Hacks
Ajax (Asynchronous Javascript And Xml)
Introdução aos aplicativos tipo canvas
Servlet jsp tomcat 8
Javascript - Agora a coisa ficou séria.
Conhecendo o CouchDB - TDC2011
Anúncio

Destaque (8)

PPTX
Minicurso JSON & Ajax
PPTX
Minicurso Javascript
PDF
Rails 3 Beginner to Builder 2011 Week 1
PDF
Rails 3 Beginner to Builder 2011 Week 6
PDF
Rails 3 Beginner to Builder 2011 Week 3
PDF
Rails 3 Beginner to Builder 2011 Week 2
PDF
Ruby on Rails for beginners
PDF
Ruby on Rails Presentation
Minicurso JSON & Ajax
Minicurso Javascript
Rails 3 Beginner to Builder 2011 Week 1
Rails 3 Beginner to Builder 2011 Week 6
Rails 3 Beginner to Builder 2011 Week 3
Rails 3 Beginner to Builder 2011 Week 2
Ruby on Rails for beginners
Ruby on Rails Presentation
Anúncio

Semelhante a AJAX?? Não!! Asynchronous Javascript and... JSON!! (20)

ODP
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
PDF
Ajax O Objeto Xml Http Request Parte 1
PPT
PDF
Tutorial de ajax
PPS
Conceitos de Ajax
PPT
PHP e AJAX: do Request ao Framework
PDF
Nadando em Dinheiro com jQuery
PDF
Apostila ajax
PDF
Curso JavaScript - Aula sobre DOM e Ajax
PDF
Apostila ajax
PDF
8159540 Tutorial De Ajax
PPTX
Palestra Sobre REST
KEY
PDF
Criando e consumindo webservice REST com PHP e JSON
PDF
Criando e consumindo webservice REST com PHP e JSON
PPT
PHP e AJAX: do Request ao Framework
PPTX
Introdução ao Desenvolvimento front-end (2019)
PPT
Minicurso Smsi
PPT
CóPia De Minicurso Smsi
PPTX
Java Script
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Ajax O Objeto Xml Http Request Parte 1
Tutorial de ajax
Conceitos de Ajax
PHP e AJAX: do Request ao Framework
Nadando em Dinheiro com jQuery
Apostila ajax
Curso JavaScript - Aula sobre DOM e Ajax
Apostila ajax
8159540 Tutorial De Ajax
Palestra Sobre REST
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
PHP e AJAX: do Request ao Framework
Introdução ao Desenvolvimento front-end (2019)
Minicurso Smsi
CóPia De Minicurso Smsi
Java Script

Último (20)

PDF
Processos na gestão de transportes, TM100 Col18
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PPTX
Aula sobre banco de dados com firebase db
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
SISTEMA DE INFORMAÇÃO EM SAÚDE_UEPA.pptx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPT
Sistemas de Informação em Saúde Aplicada.ppt
PPTX
Émile Durkheim slide elaborado muito bom
Processos na gestão de transportes, TM100 Col18
Apple Pippin Uma breve introdução. - David Glotz
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Aula sobre banco de dados com firebase db
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
SISTEMA DE INFORMAÇÃO EM SAÚDE_UEPA.pptx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula 18 - Manipulacao De Arquivos python
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
COBITxITIL-Entenda as diferença em uso governança TI
Sistemas de Informação em Saúde Aplicada.ppt
Émile Durkheim slide elaborado muito bom

AJAX?? Não!! Asynchronous Javascript and... JSON!!

  • 1. AJAX? Não!! Asynchronous Javascript and... JSON! AJAJ!! Lucas Brasilino <[email protected]> Procuradoria Geral da República - MPF
  • 2. Agenda ● Tipos de aplicações; ● O que AJAX ?; ● Método de transporte AJAX; ● Aprenda AJAX em 24 segundos; ● Exemplo de aplicação tradicional; ● O que JSON ?; ● Uso do JSON em Javascript e PHP; ● Exemplo prático.
  • 3. Tipos de aplicações ● Aplicações Desktop: – Instalado e executado em seu computador ● Eventualmente pode acessar algum site para efetuar alguma atualização de código/base de dados/etc. – Ótimo layout: geralmente utilizando componentes (widgets) do sistema operacional. – Ótima interatividade: pode-se digitar dados, utilizar menus, atualizar campos, etc, praticamente sem nenhum tempo de espera.
  • 4. Tipos de aplicações ● Aplicações Web: – Código sendo executado no servidor Web ● Excluíndo-se pequenas rotinas que são executadas no navegador. – Layout definido pelos webmasters – Média interatividade ● Baseada em links e submissão de formulários; ● Alto tempo de espera do resultado destas interações; ● A cada interação, o servidor envia todo o conteúdo da nova página.
  • 5. O que é AJAX ? ● Seu objetivo principal é melhorar a interatividade da aplicação Web, aproximando-a da aplicação Desktop; ● Aplicação Web com AJAX não depende da resposta do servidor Web a uma dada requisição, nem as requisições dependem da interação (evento) do usuário; ● Desta forma permite atualizar partes da página Web ao invés de recarregá-la novamente, diminuindo o tempo de espera do usuário e aumentando a interatividade.
  • 6. O que é AJAX ? ● É o uso de uma coletânea de tecnologias: – Muito conhecidas: ● HTML/XHTML; ● Javascript; ● DOM – Document Object Model; ● XML; ● HTTP. – Pouco conhecida: ● Objeto XMLHttpRequest.
  • 7. Modo de transporte de dados entre servidor e cliente web ● Geralmente utiliza-se XML navegador servidor XML
  • 8. Aprenda AJAX em 24 segundos var oHTTPReq = new XMLHttpRequest(); oHTTPReq.open('GET','consulta.php',true); oHTTPReq.onreadystatechange = trataResposta; oHTTPReq.send(null);
  • 9. Aprenda AJAX em 24 segundos function trataResposta() { if (oHTTPReq.readyState == 4) if (oHTTPReq.status == 200) { var oXMLResp = oHTTPReq.responseXML; atualizaPagina (oXMLResp); } }
  • 10. Exemplo de aplicação Ouvidoria oXMLResp: <funcionario> <nome>João José da Silva</nome> <endereco>Av.Conde da Boa Vista,1024</endereco> <cep>50070-060</cep> </funcionario>
  • 11. Exemplo de aplicação function atualizaPagina (oXML) { oTags = oXML.getElementsByTagName(“funcionario”); sNome = oTags[0].firstChild.nodeValue; sEnd = oTags[1].firstChild.nodeValue; sCep = oTags[2].firstChild.nodeValue; //utiliza as variáveis acima para atualizar a //página Web. }
  • 12. O que é JSON ? ● Javascript Object Notation – Um formato leve de troca de informações; – Inerente ao Javascript; – Pode ser utilizado em outras linguagens utilizando- se API's específicas; – Representação de objetos e arrays, bem como tipos simples, de forma serializada; – Fácil para humano ler e para máquina analisar.
  • 13. O que é JSON ? ● Array: [ “valor1”, “valor2”, ... ] – Exemplo: oFruta = new Array('laranja','pera','maçã'); – Resultado: [“laranja”,”pera”,”maçã”]
  • 14. O que é JSON ? ● Objeto: { “atributo1”:“valor1”, “atributo2”:“valor2”, ... } – Exemplo: oFuncionario = new Object(); oFuncionario.nome = “Jose”; oFuncionario.endereco = “Av. Conde”; – Resultado: { “nome”:”Jose”,”endereco”:”Av. Conde” }
  • 15. Uso do JSON em Javascript ● Utilizando a função 'eval()' – Transforma dados serializados em objetos/array/tipos primitivos. – Não deve ser utilizado pois é vulnerável a algumas injeções de código.
  • 16. Uso do JSON em Javascript ● Utilizando os métodos parseJSON() e toJSONString() – Disponível em: http://www.json.org/json.js – string.parseJSON(); ● Analisa a string JSON e retorna objeto. – object.toJSONString(); ● Analisa o objeto e retorna a string JSON. LEMBRETE! Tipos array, boolean, date, number e  string também são objetos em Javascript
  • 17. Novo exemplo Ouvidoria function trataResposta() { if (oHTTPReq.readyState == 4) if (oHTTPReq.status == 200) { var sJSONResp = oHTTPReq.responseText; atualizaPagina (sJSONResp); } }
  • 18. Novo exemplo Ouvidoria sJSONResp: {"nome":"João José da Silva", "endereco":"Av. Conde da Boa Vista 1204", "cep":"50070-060"}
  • 19. Exemplo de aplicação function atualizaPagina (sJSON) { oFuncionario = sJSON.parseJSON(); //utiliza oFuncionario.nome, oFuncionario.endereco, //e oFuncionario.cep para atualizar a //página Web. }
  • 20. Uso do JSON em PHP ● Extensão php-json – http://www.aurore.net/projects/php-json/ – Integrado ao PHP 5.2 e habilitado por default ● Exemplos: $frutas = array(“laranja”,”pera”,”maçã”); $str_frutas = json_encode($frutas); $funcionario = json_decode($str_funcionario);
  • 22. Para finalizar! Não existe AJAJ!! Mesmo que você não utilize XML, apenas o fato de se utilizar o objeto XMLHttpRequest  você está desenvolvendo aplicações AJAX!!
  • 23. Dúvidas?? Obrigado!! Lucas Brasilino <[email protected]>