SlideShare uma empresa Scribd logo
Curso JavaScript - Aula sobre DOM e Ajax
• Estudar e compreender os conceitos e inter-
relacionar as tecnologias:
– DOM
– JavaScript e CSS
– Ajax
– JSON
Modificando o HTML 5
Dinamicamente
• Document Object Model:
– Desenvolvida pela W3C nos anos 90.
– Especificação para manipular documentos: HTML
e XML.
• Acessar e criar novos elementos dentro de
documentos.
– Independente de linguagem:
• Qualquer linguagem pode implementar a API DOM.
• Conjunto de métodos e propriedades.
Curso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e Ajax
• Pode-se manipular o HTML:
– JavaScript com DOM:
– Métodos e Propriedades:
<header id=“cabeca”>
<img scr=“logo.jpg” />
<p>Site da Empresa...
</header>
var x =
document.getElementById(“cabeca”);
x.getElementsByTagName(“img”);
• Pode-se capturar eventos que acontecem no
documento com o DOM:
document.getElementById(“cabeca”).onclick = function()
{
alert(‘Você clicou em mim!’);
}
Alterando Estilos Dinamicamente
• Usa-se em conjunto com o DOM:
– Modificação da propriedade style do elemento.
– Alteração das propriedades CSS via JavaScript
var x = document.getElementById(“cabeca”);
x.style.background = ‘#CCC’;
x.style.color = ‘#000’;
}
Carregando Conteúdos
Dinamicamente
• Objeto do navegador:
– XmlHTTPResquest
• Permite carregar conteúdos de forma
assíncrona:
– Sem reload do documento.
– Com o conteúdo carregado, usa-se o DOM para
manipular o documento.
– As resposta do servidor podem ser em HTML,
XML, JSON ou String Simples.
function abreAjax() {
var obj_xml_http_resquest;
try {
obj_xml_http_resques = new XMLHttpRequest();
} catch(ee) {
try {
obj_xml_http_resques = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
obj_xml_http_resques = new
ActiveXObject("Microsoft.XMLHTTP");
} catch(E) {
obj_xml_http_resques = false;
}
}
}
return obj_xml_http_resques;
}
var ajax_obj = abreAjax();
ajax_obj.open('POST', 'categoria.php?ajax=true&cmd=cadastrar', true);
ajax_obj.setRequestHeader('Content-Type', 'application/x-www-form-
urlencoded');
ajax_obj.onreadystatechange = function ()
{
if(ajax_obj.readyState == 1)
{
// Carregando solicitação
}
if(ajax_obj.readyState == 4)
{
if(ajax_obj.status == 200)
{
// Solicitação concluída
}
}
};
ajax_obj.send(dataPost);
Transportando Dados entre Serviços
• JavaScript Object Notation:
– Desenvolvida por Douglas Crockford (1999).
– Não é uma tecnologia nova: RFC: 4687.
– É uma Estrutura de Dados em JavaScript:
• Especificamente: Notação de Objetos.
– Estes objetos podem ser armazenados em
arquivos:
• Extensão: .json
• Mime-Type: application/json
• Utilização Prática do JSON:
– WebServices, por exemplo: Google e Yahoo
• Seu uso não necessita do interpretador
JavaScript instalado:
– Linguagens como, por exemplo, PHP e Java tem
seus interpretadores JSON.
• Muito utilizado em detrimento do XML, mas
as duas tecnologias podem ser utilizadas
juntas.
• A sintaxe do JSON é simples: par:valor
• Pode-se validar a sintaxe em:
– http://jsonlint.com
• Onde par é uma propriedade do objeto, que seu
valor pode ser:
– String
– Number
– Object { // objeto vazio em Js }
– Array [‘João’, ‘Maria’, ‘Pedro’]
– Boleana (true ou false)
– Null
{ “aluno" : [
{ "nome": "João", "notas": [ 8, 9, 7 ] },
{ "nome": "Maria", "notas": [ 8, 10, 7 ] },
{ "nome": "Pedro", "notas": [ 10, 10, 9 ] }
]
}
<?xml version='1.0' encoding='utf-8'?>
<aluno nome=“João”>
<provas>
<prova nota=“8” />
<prova nota=“9” />
<prova nota=“7” />
</provas>
</aluno>
• Trabalhando com JSON em JavaScript:
var dados_alunos = eval(json_alunos);
alert(dados_alunos.aluno[0].nome); // Exibe “João”
alert(dados_alunos.aluno[0].notas[0]); // Exite “8”
var json_alunos = {
“aluno" : [
{ "nome": "João", "notas": [ 8, 9, 7 ] },
{ "nome": "Maria", "notas": [ 8, 10, 7 ] },
{ "nome": "Pedro", "notas": [ 10, 10, 9 ] }
]
};
www.tiago.blog.br
tiago@tiago.blog.br

Mais conteúdo relacionado

PDF
Fundamentos de arquitetura Web
PDF
Aula 6 - Design e Processo de Design de Interfaces de Usuário
PDF
Introdução a JavaScript
PPTX
NOSQL uma breve introdução
PDF
Introdução ao desenvolvimento Web
PPTX
Comunicação cliente servidor
PPS
Seminário Computação em Nuvem
PPTX
Aula 01 - JavaScript: Introdução
Fundamentos de arquitetura Web
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Introdução a JavaScript
NOSQL uma breve introdução
Introdução ao desenvolvimento Web
Comunicação cliente servidor
Seminário Computação em Nuvem
Aula 01 - JavaScript: Introdução

Mais procurados (20)

PDF
Git e GitHub: Versionamento de Código Fácil
PPTX
Introdução a programação para a Internet
PPTX
Manual powerpoint 2007
PDF
Desenvolvimento de Sistemas Web - Conceitos Básicos
ODP
Aula01-JavaScript
PDF
Aula Lógica de Programação - cap1
PDF
Projeto e Desenvolvimento de Software
PPTX
Modelagem de dados
PPT
Computação em nuvem
PPTX
Algoritmos - Procedimentos
PPTX
Introdução a criptografia
PDF
Programação Orientada a objetos em Java
PPTX
Introdução sobre desenvolvimento web
PDF
03 - Orientação a objetos e classes em C# v1.0
PDF
Word basico 2016
PPT
Cloud Computing (Computação nas nuvens)
PPTX
Visualg
ODP
Aula01 - Logica de Programação
PDF
Aplicativos Móveis
PDF
Linguagem PHP
Git e GitHub: Versionamento de Código Fácil
Introdução a programação para a Internet
Manual powerpoint 2007
Desenvolvimento de Sistemas Web - Conceitos Básicos
Aula01-JavaScript
Aula Lógica de Programação - cap1
Projeto e Desenvolvimento de Software
Modelagem de dados
Computação em nuvem
Algoritmos - Procedimentos
Introdução a criptografia
Programação Orientada a objetos em Java
Introdução sobre desenvolvimento web
03 - Orientação a objetos e classes em C# v1.0
Word basico 2016
Cloud Computing (Computação nas nuvens)
Visualg
Aula01 - Logica de Programação
Aplicativos Móveis
Linguagem PHP
Anúncio

Semelhante a Curso JavaScript - Aula sobre DOM e Ajax (20)

PDF
Conexão Java 2006: Introdução ao Ajax
PDF
Slides .pptx.pdf
PDF
Curso JavaScript - Aula jQuery
PPTX
No sql Orientado a documento
PDF
Qualidade e performance de sistemas 2.0
PPT
Apresentação sobre MVVMC
PDF
AJAX?? Não!! Asynchronous Javascript and... JSON!!
PPTX
Componentizando a Web com Polymer
PDF
Web 3.0
PDF
Web 2.0 e AJAX - Parte 1 / 3
KEY
Utilizando NoSQL no desenvolvimento de soluções inteligentes
PPTX
Pos-QCon-BigData
ODP
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
PDF
Mashups: Criando Valor na Web 2.0 (BandTec)
PDF
Slide Aula - Curso CakePHP
PPTX
Bancos de Dados Orientados a Objetos
PDF
Fisl banco de dados no sql de código aberto
PDF
JustJava 2004: JAXB
PDF
jQuery
PDF
jQuery
Conexão Java 2006: Introdução ao Ajax
Slides .pptx.pdf
Curso JavaScript - Aula jQuery
No sql Orientado a documento
Qualidade e performance de sistemas 2.0
Apresentação sobre MVVMC
AJAX?? Não!! Asynchronous Javascript and... JSON!!
Componentizando a Web com Polymer
Web 3.0
Web 2.0 e AJAX - Parte 1 / 3
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Pos-QCon-BigData
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Mashups: Criando Valor na Web 2.0 (BandTec)
Slide Aula - Curso CakePHP
Bancos de Dados Orientados a Objetos
Fisl banco de dados no sql de código aberto
JustJava 2004: JAXB
jQuery
jQuery
Anúncio

Mais de Tiago Antônio da Silva (20)

PDF
SIF - Sistemas de Informacao e Regressao Linear
PDF
Manual de Sovrevivência do Aluno
PDF
Caminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestrado
PDF
Análise e Projeto de Sistemas: Mockup de um Crud no Balsamiq
PDF
Redes - Camada de Enlace de Dados
PDF
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
PDF
Xamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin Forms
PDF
O que são Redes de Computadores
PDF
Redes - Camada Física e Meios de Transmissão
PDF
Defesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de Regiões
PDF
Folhas de Estilo XSL
PDF
Divisão de Imagens 3D com CloudCompare
PDF
Curso CSS 3 - Aula Introdutória com conceitos básicos
PDF
Curso JavaScript - Aula de Introdução como Programar
PDF
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
PDF
Curso HTML 5 - Construindo um Layout
PDF
Curso HTML 5 - Aula Inicial
PDF
Aula C#: Acesso ao MySQL usando AppConfig
PDF
Aula C#: Abastecendo Combobox com Dados do MySQL
PDF
Aula C#: Listando Registros do MySQL no ListView
SIF - Sistemas de Informacao e Regressao Linear
Manual de Sovrevivência do Aluno
Caminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestrado
Análise e Projeto de Sistemas: Mockup de um Crud no Balsamiq
Redes - Camada de Enlace de Dados
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin Forms
O que são Redes de Computadores
Redes - Camada Física e Meios de Transmissão
Defesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de Regiões
Folhas de Estilo XSL
Divisão de Imagens 3D com CloudCompare
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso JavaScript - Aula de Introdução como Programar
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Construindo um Layout
Curso HTML 5 - Aula Inicial
Aula C#: Acesso ao MySQL usando AppConfig
Aula C#: Abastecendo Combobox com Dados do MySQL
Aula C#: Listando Registros do MySQL no ListView

Último (7)

PDF
apresentacao introducao computacao ead.pdf
PDF
Evolução em código: algoritmos genéticos com PHP
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PPTX
Mapeamento de Objeto para Tabela Relacional
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PPTX
Curso de Windows 11 resumido na prática.pptx
PDF
Dos requisitos ao código: como criar código rastreável em PHP
apresentacao introducao computacao ead.pdf
Evolução em código: algoritmos genéticos com PHP
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Mapeamento de Objeto para Tabela Relacional
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Curso de Windows 11 resumido na prática.pptx
Dos requisitos ao código: como criar código rastreável em PHP

Curso JavaScript - Aula sobre DOM e Ajax

  • 2. • Estudar e compreender os conceitos e inter- relacionar as tecnologias: – DOM – JavaScript e CSS – Ajax – JSON
  • 3. Modificando o HTML 5 Dinamicamente
  • 4. • Document Object Model: – Desenvolvida pela W3C nos anos 90. – Especificação para manipular documentos: HTML e XML. • Acessar e criar novos elementos dentro de documentos. – Independente de linguagem: • Qualquer linguagem pode implementar a API DOM. • Conjunto de métodos e propriedades.
  • 7. • Pode-se manipular o HTML: – JavaScript com DOM: – Métodos e Propriedades: <header id=“cabeca”> <img scr=“logo.jpg” /> <p>Site da Empresa... </header> var x = document.getElementById(“cabeca”); x.getElementsByTagName(“img”);
  • 8. • Pode-se capturar eventos que acontecem no documento com o DOM: document.getElementById(“cabeca”).onclick = function() { alert(‘Você clicou em mim!’); }
  • 10. • Usa-se em conjunto com o DOM: – Modificação da propriedade style do elemento. – Alteração das propriedades CSS via JavaScript var x = document.getElementById(“cabeca”); x.style.background = ‘#CCC’; x.style.color = ‘#000’; }
  • 12. • Objeto do navegador: – XmlHTTPResquest • Permite carregar conteúdos de forma assíncrona: – Sem reload do documento. – Com o conteúdo carregado, usa-se o DOM para manipular o documento. – As resposta do servidor podem ser em HTML, XML, JSON ou String Simples.
  • 13. function abreAjax() { var obj_xml_http_resquest; try { obj_xml_http_resques = new XMLHttpRequest(); } catch(ee) { try { obj_xml_http_resques = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { obj_xml_http_resques = new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { obj_xml_http_resques = false; } } } return obj_xml_http_resques; }
  • 14. var ajax_obj = abreAjax(); ajax_obj.open('POST', 'categoria.php?ajax=true&cmd=cadastrar', true); ajax_obj.setRequestHeader('Content-Type', 'application/x-www-form- urlencoded'); ajax_obj.onreadystatechange = function () { if(ajax_obj.readyState == 1) { // Carregando solicitação } if(ajax_obj.readyState == 4) { if(ajax_obj.status == 200) { // Solicitação concluída } } }; ajax_obj.send(dataPost);
  • 16. • JavaScript Object Notation: – Desenvolvida por Douglas Crockford (1999). – Não é uma tecnologia nova: RFC: 4687. – É uma Estrutura de Dados em JavaScript: • Especificamente: Notação de Objetos. – Estes objetos podem ser armazenados em arquivos: • Extensão: .json • Mime-Type: application/json
  • 17. • Utilização Prática do JSON: – WebServices, por exemplo: Google e Yahoo • Seu uso não necessita do interpretador JavaScript instalado: – Linguagens como, por exemplo, PHP e Java tem seus interpretadores JSON. • Muito utilizado em detrimento do XML, mas as duas tecnologias podem ser utilizadas juntas.
  • 18. • A sintaxe do JSON é simples: par:valor • Pode-se validar a sintaxe em: – http://jsonlint.com • Onde par é uma propriedade do objeto, que seu valor pode ser: – String – Number – Object { // objeto vazio em Js } – Array [‘João’, ‘Maria’, ‘Pedro’] – Boleana (true ou false) – Null
  • 19. { “aluno" : [ { "nome": "João", "notas": [ 8, 9, 7 ] }, { "nome": "Maria", "notas": [ 8, 10, 7 ] }, { "nome": "Pedro", "notas": [ 10, 10, 9 ] } ] } <?xml version='1.0' encoding='utf-8'?> <aluno nome=“João”> <provas> <prova nota=“8” /> <prova nota=“9” /> <prova nota=“7” /> </provas> </aluno>
  • 20. • Trabalhando com JSON em JavaScript: var dados_alunos = eval(json_alunos); alert(dados_alunos.aluno[0].nome); // Exibe “João” alert(dados_alunos.aluno[0].notas[0]); // Exite “8” var json_alunos = { “aluno" : [ { "nome": "João", "notas": [ 8, 9, 7 ] }, { "nome": "Maria", "notas": [ 8, 10, 7 ] }, { "nome": "Pedro", "notas": [ 10, 10, 9 ] } ] };