Autor Tópico: Ajax sem XMLHttpRequest  (Lida 1418 vezes)

Offline thomazs

  • Newbie
  • *
  • Mensagens: 6
  • Reputação: +0/-0
    • Ver Perfil
Ajax sem XMLHttpRequest
« em: Novembro 16, 2008, 03:51:34 am »
Pessoal, o que vocês acham da utilização do ajax sem o XMLHttpRequest?
Tipo, não o ajax realmente, mas algo semelhante, que permite requisições assíncronas, porém, usando outra engine, como por exemplo frames e só tratando os dados retornados para o frame usando o javascript? Se é uma má idéia, porque?

Offline Nuno

  • Administrator
  • Full Member
  • *****
  • Mensagens: 208
  • Reputação: +0/-0
    • Ver Perfil
Re:Ajax sem XMLHttpRequest
« Responder #1 em: Novembro 16, 2008, 01:46:34 pm »
Boas thomazs

Desconheço essa técnica, podes falar mais sobre ela?

Offline thomazs

  • Newbie
  • *
  • Mensagens: 6
  • Reputação: +0/-0
    • Ver Perfil
Re:Ajax sem XMLHttpRequest
« Responder #2 em: Novembro 16, 2008, 04:20:31 pm »
Consiste na criação de um IFrame oculto, onde, se a requisição for do tipo GET, basta alterar o src do IFrame via javascript, se for post, é criado o form dinâmicamente e é dado o submit para o destino da requisição. O retorno seria equivalente ao responseText, porém, pode-se trabalhar com JSon para termos que trabalhar apenas com objetos.

Offline Nuno

  • Administrator
  • Full Member
  • *****
  • Mensagens: 208
  • Reputação: +0/-0
    • Ver Perfil
Re:Ajax sem XMLHttpRequest
« Responder #3 em: Novembro 16, 2008, 04:26:17 pm »
Desconhecia essa técnica, parece bastante interessante vou investigar ;)

Offline thomazs

  • Newbie
  • *
  • Mensagens: 6
  • Reputação: +0/-0
    • Ver Perfil
Re:Ajax sem XMLHttpRequest
« Responder #4 em: Novembro 16, 2008, 04:45:18 pm »
A grande vantagem é que sem precisar fazer nenhuma alteração na forma de requisição, você consegue carregar dados de outros domínios, que não seja o que está publicada a página web (o que ocorre com o XMLHTTPRequest).

Offline rvercesi

  • Newbie
  • *
  • Mensagens: 18
  • Reputação: +0/-0
    • Ver Perfil
Re:Ajax sem XMLHttpRequest
« Responder #5 em: Novembro 21, 2008, 12:16:02 pm »
Cuidado com os iframes. Por diversos motivos.
1º cada iframe é uma página por si só, logo o tempo de processamento aumenta.
2º os browsers não funcionam todos da mesma forma com iframes. embora quase todos os browsers suportem, há atributos que só alguns reconhecem
3º acima de tudo, utilizem iframe com moderação por questões de performance.

Offline thomazs

  • Newbie
  • *
  • Mensagens: 6
  • Reputação: +0/-0
    • Ver Perfil
Re:Ajax sem XMLHttpRequest
« Responder #6 em: Novembro 23, 2008, 12:03:36 am »
1. Bom, quanto ao desempenho, dependendo do conteúdo, realmente o desempenho é menor, porém, em determinadas ocasiões, fica mais rápido...

2. Certo. Principalmente o Firefox... ele difere bastante dos demais nesse quesito, porém, o framework que estou utilizando já trata isso. Testei com o Internet Explorer 5, 6 e 7, Firefox 2 e 3, Opera 9.6 e em todos eles funcionou como o esperado.

3. Como respondido no item 1, isso varia... em determinadas ocasiões o acesso com o frame fica mais rápido.

Um outro ponto que já citei é a facilidade de se fazer solicitações de outros domínios sem a necessidade de fazer modificações. Outro item que notei, também favorável, é o fato de que, mesmo em browser mais antigos, que tem apenas suporte a javascript e frame, os dados são carragados, diferentemente de sites que utilizam o objeto XMLHttpRequest.

Offline Nuno

  • Administrator
  • Full Member
  • *****
  • Mensagens: 208
  • Reputação: +0/-0
    • Ver Perfil
Re:Ajax sem XMLHttpRequest
« Responder #7 em: Novembro 23, 2008, 01:08:46 am »
É estranho ele permitir aceder a conteúdos noutros domínios... Normalmente isso é considerado uma falha de segurança... Por ex já tive alguns problemas qdo no Flash tento aceder a um determinado xml que está noutro domínio e não tem o crossdomain.xml