Busca

Boas práticas de Desenvolvimento com Padrões Web


Ajax para quem só ouviu falar

Sempre que um assunto entra em voga, aparece um monte de gente perguntando as mesmas perguntas de sempre. E, quando eu já estudei alguma coisa sobre o assunto, eu sempre tento, inutilmente, é verdade, escrever um artigo que elimine as dúvidas iniciais e mostre o “camino das pedras” para quem só ouviu falar naquilo e [...]

30/08/2005 por Elcio Ferreira
53 Comentários

Sempre que um assunto entra em voga, aparece um monte de gente perguntando as mesmas perguntas de sempre. E, quando eu já estudei alguma coisa sobre o assunto, eu sempre tento, inutilmente, é verdade, escrever um artigo que elimine as dúvidas iniciais e mostre o “camino das pedras” para quem só ouviu falar naquilo e quer saber o que é, pra que serve, e ter uma idéia de como se faz. Este artigo é uma tentativa dessas. O assunto é Ajax.

Ajax para quem só ouviu falar

53 Comentários

Sua opinião:

Vamos elevar o nível de discussão. Exponha sua opinião, sua crítica.



RSS dos comentários deste post
URL para Trackback

53 Comentários

Leandro Vieira Pinho 30/08/2005 às 00:00

Opa, que bacana.

Vou tirar um tempo para dar uma lida, agora está complicado.

Parabéns pela iniciativa.

Dudu Figueiredo 30/08/2005 às 00:00

Falando em "Caminho das Pedras", e o "Ruby on Rails" sei que o assunto não é diretamente ligado a tableless, mas gostaria de ler algo sobre…

Erick Wilder 30/08/2005 às 00:00

Achei muito bom mesmo o artigo, deu pra ter uma noção e agora vou praticar nas horas vagas. Meu prof tinha me falado algo sobre o assunto mas acabou ficando um pouco pra depois, até dei uma lida por ai, mas em inglês complica a vida em certas horas (pricipalmente quando se quer dormir)
Só não achei legal falar que odeia PHP por ser uma linguagem muito conhecida. Não vejo motivos pra isso, senão daqui a pouco vão começar a aparecer os caras que odeiam Web Standars só porque está difundido. Infeliz comentário da sua parte.
Mais infeliz ainda porque pediu exemplos em ASP (fala a verdade você ama o Tio Bill. não???) rsrsrs.

Elcio 30/08/2005 às 00:00

Erik,
A frase estava mal redigida, dando margem a dupla interpretação. Estava assim: "Vamos trabalhar com PHP, embora eu odeie esta linguagem, porque é uma linguagem muito conhecida." Troquei para: "Vamos trabalhar com PHP porque é uma linguagem muito conhecida (embora eu odeie esta PHP.)"
Quer dizer, eu não odeio PHP porque é muito conhecida. Eu odeio por causa dos malditos cifrões e pontos-e-vírgulas.
Sobre gostar de ASP, realmente prefiro escrever código server-side em VBScript ou Javascript do que em PHP. O problema é ter que rodar em servidores Windows :-(
Agora, se você quer saber mesmo do que eu gosto, eu gosto de Python. Muito. Muito mesmo.

dvd 30/08/2005 às 00:00

ola elcio! cara, preciso dizer: seu artigo é ilustre!!! Muitos parabens pela iniciativa, meu, de verdade… mas eu não entendo uma coisa…. como esse site funciona em browsers que nao suportam javascript, se o código dele É um javascript (com php)??? COMO??? COMO???? :|

Erick Wilder 30/08/2005 às 00:00

Muito melhor!!!
Expressando o motivo de usar o PHP (muito conhecido) e fazendo seu comentário pessoal logo em seguida sobre a linguagem (Embora eu odeie PHP)….erro ratificado, muito bem.
Mas Python tem uma semelhança com php não é? Dá um desconto. E vamos ser sinceros, escrever "Dim" toda hora é um pé no saco, os cifrões poupam muito os dedinhos.

Elcio 30/08/2005 às 00:00

(Sem acentos, postando do Lynx enquanto faco uma atualizacao.)
Erick,
Em ASP, nao escrevo Dim toda hora. Praticamente so uso Dim quando preciso criar uma variavel global (o que, convenhamos, nao se deve usar muito.)
Python e PHP nao tem muitas semelhancas. A sintaxe do Python e simplesmente a coisa mais elegante com que eu ja trabalhei em linguagens de programacao.

Erick Wilder 30/08/2005 às 00:00

Ah sim concordo que Python tenha uma elegancia muito grande.
Mexi pouco, muito pouco mesmo, não sei fazer mais do que aqueles scripts de aprendiz curioso mesmo, mas concordo, na sintaxe ele realmente é ótimo.
Mas [in]felizmente eu me apeguei no PHP. oh coisa linda!! rsrsrs
Até!

Rodrigo Muniz 30/08/2005 às 00:00

Depois de ver ajax e essas coisas, eu penso até onde vai o programador e começa o designer?

Ricardo Augusto 30/08/2005 às 00:00

AJAX pra quem já ouviu falar, em inglês:

Ajax mistakes
http://alexbosworth.backpackit.com/pub/67688
:)

Erick Wilder 30/08/2005 às 00:00

Rodrigo, acho que todo programador deve sacar de design e todo [web]designer deve sacar de programação. Digo isso porque o programador precisa ter noção de como ele retorna a saida do código pra que o designer possa trabalhar em paz.
Mas também o designer deve ter noção e não criar coisas mirabolantes demais pra complicar a vida do programador, ou viajar na maionese achando que tudo que ele fizer pode ser implementado na versão final de um site.
Não sou a favor dos chamados "super profissionais", que são aqueles caras que tentam estudar tudo, estar sempre antenados, mas acabam fazendo tudo pela metade. Prefiro fazer 3 coisas, ou 2, que seja. Mas que sejam inteiras.
Se o cara quer ser designer, que seja, mas deve sempre procurar ser o melhor e mais inteiro possível. O que vale também pra outras coisas como o animador, programador, dba e etc.

Helder 30/08/2005 às 00:00

Muito legal o artigo!
só um pequeno problema que pode ocorrer é se o site estiver por exemplo rodando na porta 8080 (no meu caso..como é um site de teste, tem q ser nessa porta). No IE, a variavel N do ajax vai pegar esse numero 8080! oq vai causar erro na hora de carregar o arquivo.
Mas creio q poucos terão q passar por isso!

ubiratan 30/08/2005 às 00:00

cara uma coisa esquisita, eu não consegui salvar as páginas no meu desktop ! será porque o carregamento do conteudo dinâmico não altera o código HMTL da página ?

ubiratan 30/08/2005 às 00:00

..e mais uma coisa, eu posso criar uma camisa ( do tipo pólo preta com o logotipo de vcs bordado ! ) vcs autorizam ?

Walter Cruz 30/08/2005 às 00:00

Helder, no seu caso, bastaria apenas mudar a expressão regular.

Eu adaptei uma pequena aplicação que eu tenho usando as dicas do tutorial.

Porém, como uso UTF-8, precisei usar decodeURI/encodeURI ao invés de escape/unscape. (Método não disponível para o IE antes da versão 5.5)

André 30/08/2005 às 00:00

Aqui está estranho. consegui fazer em uma parte aqui, mas quando volta a string os caracteres acentuados voltam com sinal de "?" no MSIE e Firefox, já no Mozilla funciona corretamente. E no Firefox quando vai retornar o conteudo para dentro do div, na hora do refresh pisca pra cima uma caixa do tamanho do div que vai receber o conteúdo. Muito estranho…

André 30/08/2005 às 00:00

Consegui arrumar o problema da acentuação, utilizando o Server.urlencode do ASP na resposta das informações. mas o caso do firefox permanece :S

André 30/08/2005 às 00:00

Consegui arrumar o problema da acentuação, utilizando o Server.urlencode do ASP na resposta das informações. mas o caso do firefox permanece :S

Nelson 30/08/2005 às 00:00

Muito bom, parabéns. Estou cada vez mais fã do Tableless.com.br. Eu gostaria de chamar atenção apenas para um pequeno detalhe, que vejo com muita freqüência em textos técnicos: A palavra estender, em português, é com ‘S’, e não com ‘X’.
Abraços

Flávio Theruo Kaminisse 30/08/2005 às 00:00

Elcio,
Parabéns pelo artigo :-) , muito bom mesmo, já está nos meus favoritos.

Abraços

Leandro Vieira Pinho 30/08/2005 às 00:00

Acabei de fazer o exemplo aqui, mas não funfou no IE (tinha que ser nele).

No FF e no Opera está 100%

Alguém teve este problema?

Murilo Corrêa 30/08/2005 às 00:00

AJAX não vai contra os princípios de acessibilidade?
Quero dizer que, se página apresentada para ao usuário precisar sofrer interações através de javascript (client-side) a fim de obter informações server-side, não estarei limitando as funcionalidades do meu site para somente aqueles browsers capazes de interpretar tal linguagem?

Wladimir Barros 30/08/2005 às 00:00

Pelo amor de Deus, preciso resolver problemas com acento…:( estou usando um include de php, e quando retorna o resultado pelo ajax não tem aecentuação correta :(

pior que não posso passar por filtros, por ser um include… e preciso das variáveis PHP que este include traz… Quem puder ajudar eu agradeço muito!

Leonardo Souza 30/08/2005 às 00:00

Pq retiraram o post do ar?

Poxa… isso não se faz…

;-(

Ronald Weber Leite 30/08/2005 às 00:00

O link para o tutorial do Ajax está OFF, por favor, poderiam arrumar? Ele é muito bom, aprendi por ele e agora queria ver como se faz para selecionar o link da página em questão.
FLW!

André 30/08/2005 às 00:00

Nem em .asp, nem em .htm, acentos não funcionam

Daniel de BH 30/08/2005 às 00:00

O link está quebrado.

Rodrigo 30/08/2005 às 00:00

Ola, bom dia..
Alguem poderia me mostrar um exemplo de ajax com asp.
me mande por email rodrigopsbbb@yahoo.com.br
Agradeço
Rodrigo

Érico Oliveira 30/08/2005 às 00:00

Fiz o download do tutorial, mas ocorre o seguinte erro quando clico em qualquer link do menu:
Warning: file_get_contents(0.html): failed to open stream: No such file or directory in /home/erico/public_html/rssreader/ajaxdemo/funcoes.php on line 11
Testei local com o easyphp e no meu servidor, o erro foi o mesmo. Quando informo o caminho completo …index.php?i=2 funciona! Alguém poderia me ajudar? Obrigado

Yuri Teixeira 30/08/2005 às 00:00

Também estou tendo problemas com acentuação ao carregar o conteúdo de uma página php em um DIV com ajax. Acho estranho, pois os charsets estão setados corretamente (o dreamweaver faz isso muito bem :P ).

Alguém teria alguma idéia do q fazer para solucionar tal problema?

[]s

Denis Russo 30/08/2005 às 00:00

Olá Elcio,

Usando o conceito marqueteiro Ajax, existe algum meio de carregar nos arquivos estáticos dados de um arquivo XML sem uma aplicação do lado do servidor?

Mais uma, como é que os sistemas de controle de audiência se comportam com os sites que usam o conceito Ajax?

[]’s

Roberto 15/12/2005 às 08:19

O link nao funciona

Lucas 15/12/2005 às 22:35

Tche, tinha guardado o link de seu “tutorial” para dar uma estudada, mas agora fui acessar e esta off =/
reestabelece ae pra nós :D

Rafael Meira Cabrera 27/12/2005 às 14:19

Olá, tentei estudar pelo tutorial de ajax demo e demo2 …. e vão aparecendo as duvida…. antes de começa-las a perguntar, quero resolver pequenos problemas….

Por que comigo não aparece o “Carregando…” a cada troca de paginas?

Obrigado pela atenção

Abraço

- Tableless 03/01/2006 às 07:58

[...] Agosto [...]

Ricardo Veloso 11/01/2006 às 13:49

Muito bom!!!!

Dirceu 13/01/2006 às 16:05

Olá, revirei a web atraz de alguma solução AJAX com ASP que mostra-se o resultado corretamente com os acentos e não achei, então tive que usar o objeto ‘OpenTextFile’ do ASP para carregar o HTML e passar o Server.URLEncode pelo resultado, assim consegui AJAX + ASP corretamente.

Marcelo 05/02/2006 às 02:27

Ola,

Muito bom seu tutorial, bastante didático e me ajudou bastante. Não tive algum problema com acentos escrevendo em ASP, apenas usando URLEncode para enviar a resposta do servidor e código descrito no seu tutorial. Testei no Mozilla 1.5 e IE 6 e ocorreu tudo bem, dentro do contexto em que estou trabalhando. Mas encontrei uma dificuldade, e gostaria de uma ajuda. Eu estou requerindo formulários HTML do servidor com bastante código em Javascript, mas as funções em JS não ficam disponíveis no formulário “alvo”. As chamadas das funções nos eventos dos objetos HTML (onClick, etc) estão lá, mas ao disparar um evento eu recebo a mensagem “… is not defined” no Mozilla e “Objeto esperado” no IE. O que eu estou fazendo de errado ?

guilherme 07/03/2006 às 12:13

Olá, eu baixei o script por inteiro mas encontrei um fonte na página que nao é explicado, seria o http://www.tableless.com.br/artigos/ajaxdemo/source.php?i=3 , onde que eu coloco esse codigo?

Douglas Gomes de Souza 12/03/2006 às 20:00

ACENTOS AJAX COM INCLUDE PHP
==============================
Galera, como muitos quebrei a cabeça para descobrir porquê os acentos em include do php não exibem de forma correta, tentei o método mais falado que é o javascript com urlencode. Porém como o ajax não precisa retornar necessariamente um único resultado. Resolvi o problema com:
Inserindo no topo dos arquivos que serão incluidos no php a função header desta maneira

Ok, espero que resolva

Douglas Gomes de Souza 12/03/2006 às 20:02

ACENTOS AJAX COM INCLUSE PHP
=============================
Oops! NUM SABIA QUE NUM DAVA PRA COLOCAR PHP AQUI. hehe

lá vai:
header(‘Content-type: text/html; charset=iso-8859-1′);

Chrystian 16/03/2006 às 19:15

Primeiramente ótimo site sobre ajax, parabéns, 2º se alguem tiver um exemplo ASP + AJX me envie no email estou querendo dar uma estudada para implementar uma coisa e acho q o AJAX seria perfeito. Se alguem puder ajudar agradeço.

Diogo Chaves 20/03/2006 às 12:49

ACENTOS AJAX – ASP
———————-
Opa, seguindo o conselho do Douglas (#41,#42) consegui resolver o problema de acentuação utilizando asp, basta colocar isto na página que irá executar o código a ser retornado:

Response.ContentType = “text/html; charset=iso-8859-1″

A única coisa que mudou foi a sintaxe que é diferente do php.

Valeu pela ajuda Douglas, e um abraço para todo pessoal aqui do tableless :)

S.H.D.O. 25/04/2006 às 10:53

Em resposta ao comentário 35 de Rafael Meira Cabrera.

Não é mostrado “carregando…” na troca de suas páginas porque você não fez a chamada na página principal do arquivo do ajax. Algo do tipo:

Se tiver esta linha o ajax não é invocado e ocorre o refresh (atualização) da página.

Ao Elcio F.: Muito Bom artigo. É difícil encontrar um artigo que te mostra de maneira simples como o Ajax funciona, outros artigos que encontrei são apenas explanações do funciomento, sem exemplos práticos. Logo os brasileiros que desejam aderir a tecnologia (o jeito) se sentem um tanto por fora e pensam que algo absurdo ou pelo menos tem a idéia de algo intocável!

Até mais…

Fernando Nonato Rodrigues 26/04/2006 às 12:52

Amigos,
Existe uma maneira de ativar um link (ou um menu com submenus) numa página web através da combinação de teclas?
Exemplo:
Quem Somos (Ctrl+Shift+S) ???

Valeus,
Fernando

Laurimar Pereira 02/05/2006 às 18:13

Olá Pessoal, estou desenvolvendo um sistema web para administração de imobiliárias, e ouvi falar em AJAX, logo percebi que existe uma poderosa ferramenta para usar juntamente com meu sistema, mas o problema é: onde aprender a trabalhar com AJAX.
um exemplo do que eu usaria o AJAX:
Tenho um formulário para cadastro de imóveis, no mesmo formulário é alterado e visualizado o imóvel. só que a cada ação a ser executada com esse form tenho que atualizar a página.
Alguém poderia me dar um exemplo de eu digitar o código do imóvel e ele (AJAX)preencher o restante dos campos no form.

Jefferson 05/05/2006 às 17:38

Gostei muito do tuto!!

Excelente pra quem só tinha ouvido falar como eu

Eu não consegui mudar as url´s dos links, qdo eu alterava o valor de n, todos os links ficavam com a mesma url.

Alguem pode me dizer um jeito de fazer isso?

Micox 03/06/2006 às 13:08

Pra quem ainda não resolveu os problemas de acentuação conforme o Douglas (#42) e o Diogo (#44) informaram, eu fiz um juntão lá no meu blog sobre o problema. (Em relação a JSP também): http://elmicox.blogspot.com/2006/06/ajax-acentuao-soluo-final-1-linha-de.html

Kaego Cardoso 21/06/2006 às 11:28

Muito irado sem palavras

Rodrigo 02/09/2006 às 05:38

Ótimo artigo!

Julio Cesar 08/03/2008 às 12:33

Olá, gostei muito do artigo “Ajax pra quem so ouviu falar”, mas to com uma duvida, será que podem me ajudar, sou iniciante no assunto entendi tudo, menos onde ta o conteúdo que vai para a DIV, que tipo de arquivo é, php, html, txt. Tipo eu clico em Introdução, objetivo, etc, onde ta esses testos e em que formato são?
Agradeço desde de já pela atenção.