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.