Esta Artigo foi criado para demonstrar a utlização do Ajax em todos os tipos de navegadores.
Testado no IE6, IE7, IE8, Firefox, CHROME, Safari, Natescap, Opera entre outros…

Aquivo index.php

<html>
<head>
<script>
//funcao que instancia o Ajax
function IniciaAjax(){
 var HTTP_REQUEST;

 try
 {
 HTTP_REQUEST = new ActiveXObject("Microsoft.XMLHTTP");
 }
 catch(e)
 {
 try
 {
 HTTP_REQUEST = new ActiveXObject("Msxml2.XMLHTTP");
 }
 catch(ex)
 {
 try
 {
 HTTP_REQUEST = new XMLHttpRequest();
 HTTP_REQUEST.overrideMimeType('text/html');
 }
 catch(exc)
 {
 alert("Esse browser não tem recursos para uso do Ajax");
 HTTP_REQUEST = null;
 }
 }
 }
 return HTTP_REQUEST;
}

//função em Ajax
function meuPrimeiroAjax($param, $param2){
 ajax = IniciaAjax();

 if (ajax){
 ajax.onreadystatechange= function(){
 if(ajax.readyState==1){
 //acao enquanto a página é processada, pode se utilizar um spinner.
 }
 if(ajax.readyState==4){
 //Alerta o resultado da página solicitada e printa o resultado no elemento response
 document.getElementById('response').innerHTML=ajax.responseText;
 }
 }

 //monta a query
 //Em dados devem ser passados todos os paramentros a serem enviados ao arquivo de processamento
 //separados por &
 dados='var1='+$param+'&var2='+$param2;

 //faz a requisicao e envio dos dados em POST ou GET conforme especificado abaixo
 ajax.open('POST', 'http://www.endereco_ate_o_arquivo.com.br/file.php', true);
 ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 ajax.send(dados);
 }
}
</script>
</head>
<body>

<form name="teste" id="teste" onSubmit="return false">
 <input type="button" value="Chamar Ajax" onclick="meuPrimeiroAjax('Valor1', 'Valor2')" />
 <div id="response"></div>
</form>

</body>
</html>

Arquivo file.php

Dentro deste arquivo podem ser chamada as classes, executada as funções ou qualquer outro procedimento desejado.
Para o nosso caso o conteúdo do arquivo file sera o echo dos parametros passados em POST via Ajax. Tudo o que for printado neste arquivo será a resposta enviada para o Ajax como se fosse um return no PHP.

<?="Parametro1: ".$_POST['var1']; ?>
<?="<br />";?>
<?="Parametro2: ".$_POST['var2']; ?>

Obs: Para uma melhor segmentação do cógico é interessante criar um arquivo externo a página para colocar as funções em Ajax.

Até o próximo artigo.
Rafael Theodoro

5 thoughts to “Utilizando Ajax em Todos os navegadores (IE6, IE7, IE8, Firefox, CHROME, Safari, Natescap, Opera, entre outros).

  • Gustavo

    Gostei muito deste artigo, estava realmente procurando algo assim para mim fazer um sistema de métricas em meu site pessoal, que estou a formular. Muito obrigado pela ajuda, visitarei sempre seu site.

    Responder
    • Rafael Theodoro
      admin

      Muito Obrigado Gustavo, volte sempre. Me sinto motivado ao poder ajudar.

      Responder
  • André Antunes

    Olá amigo.

    Estou com um problema parecido com o que voce buscou solucionar com esse artigo. Uso ajax em uma parte do meu site… porém o mesmo só funciona no Firefox. No IE e no Chrome não funciona de jeito nenhum.

    Copiei a solução proposta por voce e mesmo assim nada de funcionar.

    Poderia dar uma luz?

    Responder
  • Pingback: tutorial java script | yasrodo

  • Josephbor

    nude movie scenes – nude celebrities, naked on stage

    Responder

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /home/rafaeltheodoro/www/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048