Escolar Documentos
Profissional Documentos
Cultura Documentos
2
Ambientao do Curso
Ajax
3
Objetivos da Aula
Aula 04
O que Ajax?
4
Ambientao do Curso
O que Ajax?
5
O que Ajax?
6
O que Ajax?
Em resumo:
77 No linguagem de programao.
7
O que Ajax?
8
O que Ajax?
9
O que Ajax?
varobjAjax=newXMLHttpRequest();
10
O que Ajax?
Fallback para IE 5 e 6:
varobjAjax;
if(window.XMLHttpRequest){
objAjax=newXMLHttpRequest();
}elseif(window.ActiveXObject){
objAjax=newActiveXObject('Msxml2.XMLHTTP');
if(!objAjax){
objAjax=newActiveXObject('Microsoft.XMLHTTP');
}
}else{
alert('SeunavegadornosuportaAjax');
}
11
O que Ajax?
send
send Inicia a requisio j definida pelo mtodo open;
setRequestHeader
setRequestHeader Envia cabealhos HTTP para uma requisio;
abort
abort Cancela uma requisio em andamento.
12
O que Ajax?
13
O que Ajax?
varobjAjax=newXMLHttpRequest();//oufallback
if(objAjax){
objAjax.onreadstatechange=function(){
if(objAjax.readyState==4){
alert('Chegouarequisiofeitaaoserver');
}
};
objAjax.open(GET/POST,URL,true/false);
objAjax.send(produto=celular&modelo=Nexus+5);
}
14
O que Ajax?
objAjax.setRequestHeader('ContentType',
'application/xwwwformurlencoded');
15
O que Ajax?
16
O que Ajax?
if(objAjax.readyState==4){
if(objAjax.status==200){
alert('Chegouarequisiofeitaaoserver');
}else{
alert('Houvealgumproblemanacomunicao')
}
}
17
O que Ajax?
if(objAjax.status==200||objAjax.status==304){
alert('Chegouarequisiofeitaaoserver');
}
18
O que Ajax?
http://jsfiddle.net/marianalino/Lq9pkphs/
19
Ambientao do Curso
20
Introduo ao Ajax com jQuery
Biblioteca jQuery:
21
Introduo ao Ajax com jQuery
Funo $.get():
Esta funo realiza uma requisio HTTP com o uso do mtodo GET.
Podemos utilizar uma funo Callback ao ser executada no trmino da
requisio, somente se ela for bem-sucedida.
Como utilizar:
$.get('URL',[dados],[callback],[tipo]);
22
Introduo ao Ajax com jQuery
$.get('URL',
{artist:'RayCharles'},
function(data){
//manipulardadosretornadosem'data'
},
'html'
);
23
Introduo ao Ajax com jQuery
http://jsfiddle.net/marianalino/bvg31p3L/
24
Introduo ao Ajax com jQuery
Funo $.post():
Esta funo realiza uma requisio HTTP com o uso do mtodo POST.
Podemos utilizar uma funo Callback a ser executada no trmino da
requisio, somente se ela for bem-sucedida.
Como utilizar:
$.post('URL',[dados],[callback],[tipo]);
25
Introduo ao Ajax com jQuery
$.post('URL',
{nome:'Jos',email:'meu@email.com',idade:40},
function(data){
//manipulardadosretornadosem'data'
},
'html'
);
26
Introduo ao Ajax com jQuery
Funo $.ajax():
Esta funo realiza uma requisio HTTP de qualquer tipo, seja ela GET,
POST, GETJSON e GETSCRIPT.
$.ajax(options);
27
Introduo ao Ajax com jQuery
Algumas caractersticas:
28
Introduo ao Ajax com jQuery
Algumas caractersticas:
29
Introduo ao Ajax com jQuery
Algumas caractersticas:
Exemplo:
$.ajax({
url:'minha_url.php',
type:'GET',
dataType:'json',
success:function(data){
//manipulardadosretonardosem'data
}
});
31
Ambientao do Curso
32
Construindo uma aplicao
33
Continuao da aplicao
Vamos abordar parte por parte nos prximos slides e como ainda no aprendemos sobre
orientado a objeto, ento vamos criar um cdigo um pouco extenso para esse processo,
para entender melhor e sentir como isso implica e dificulta o cdigo e a manuteno do
mesmo.
34
Continuao da aplicao
35
Continuao da aplicao
// Eventos de teclado
$('body').on('keydown', function(event) {
// se qualquer tecla digerente de enter for pressionada paramos
if( (event.keyCode || event.which) !== 13){return true;}
/// bloqueamos outros eventos que possa existir para essa tecla
event.preventDefault();
event.stopPropagation();
/// aqui vamos criar nosso objeto task, pegamos o valor do input
var task ={
description: $('.input-task').val(),
status: 'pendente'
};
/// criamos nosso webservice
$.ajax({
url: 'http://marianalino.com.br/webservice/',
dataType: 'JSON',
data: task,
success: function (data) {
// e vamos chamar a funo para inserir as taks
insertTask(data);
}
});
// Limpe o valor do campo de input
$('.input-task').val('')
});
36
Continuao da aplicao
li.html('<p>\
<input type="checkbox" name="done" value="'+data.id+'" checked disabled>\
<span class="description">'+data.task+'</span>\
<a href="#">x</a>\
</p>');
/// adiciona na lista mas verifica qual lista voce vai adicionar
$('.tasks.complete').append(li);
37
Continuao da aplicao
38
Continuao da aplicao
39
Continuao da aplicao
40
Continuao da aplicao
41
Continuao da aplicao
Agora vamos fazer funcionar a ao de mudar a task para completa, com Jquery
selecione o elemento body, e aplique um evento change utilizando o on, no elemento que
existe ou vai existir .tasks input, a funo como parametro vai ser o completeTask,
exemplo:
42
Continuao da aplicao
43
Continuao da aplicao
44
Prximos Passos
Mos obra!
45