A ferramenta principal do AJAX é o objeto de XMLHttpRequest.

 

Os browsers usam métodos diferentes para criar o objeto XMLHttpRequest.

 

O Internet Explorer usa  ActiveXObject, quando outros browsers usaram o objeto

interno do Javascript chamado XMLHttpRequest.

 

Para criar este objeto e tratar dos browsers, nós iremos usar uma

"try ... catch" .

 

Vamos atualizar nosso arquivo de “testAjax.htm” com o Javascript que cria o objeto de XMLHttpRequest:


<html>

<body>

<script type="text/javascript">

    function ajaxFunction()

    {

var xmlHttp;

try

   {

// Firefox, Opera 8.0+, Safari

    xmlHttp=new XMLHttpRequest();

   }

 

   catch (e)

  {

// Internet Explorer

         try

          {

     xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

           }

 catch (e)

          {

try

          {

     xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

    }

    catch (e)

    {

alert("Your browser does not support AJAX!");

return false;

    }

}

</script>

<form name="myForm">

Name: <input type="text" name="username" />

Time: <input type="text" name="time" />

</form>

</body>

</html>


Exemplo explicado:

Primeiro crie uma variável xmlHttp para receber o objeto de XMLHttpRequest.

 

Depois crie o usando xmlHttp=new XMLHttpRequest(). Isto é para os

browsers de Firefox, ópera e de Safari.

Se isso falhar, tente xmlHttp=new ActiveXObject("Msxml2.XMLHTTP") para o Internet Explorer 6.0+, se falhar também, tente xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") que é para o Internet Explorer 5.5+

 

Se nenhuns dos três métodos funcionarem, será por que a versão do browser é muito antiga e começará a aparecer alertas indicando que o browser não suporta AJAX.

 

Nota: O código acima é muito longo e complexo. Entretanto, este é o código que você poderá usar toda vez que precisar criar um objeto de XMLHttpRequest. Ele é compatível com todos os browsers populares: Internet Explorer, ópera, Firefox, e Safari.