

AJAX 的要點(diǎn)是 XMLHttpRequest 對(duì)象。
不同的瀏覽器創(chuàng)建 XMLHttpRequest 對(duì)象的方法是有差異的。
IE 瀏覽器使用 ActiveXObject,而其他的瀏覽器使用名為 XMLHttpRequest 的 JavaScript 內(nèi)建對(duì)象。
如需針對(duì)不同的瀏覽器來(lái)創(chuàng)建此對(duì)象,我們要使用一條 "try and catch" 語(yǔ)句。您可以在我們的 JavaScript 教程中閱讀更多有關(guān) try 和 catch 語(yǔ)句 的內(nèi)容。
讓我們用這段創(chuàng)建 XMLHttpRequest 對(duì)象的 JavaScript 來(lái)更新一下我們的 "testAjax.htm" 文件:
<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("您的瀏覽器不支持AJAX!");
return false;
}
}
}
}
</script>
<form name="myForm">
用戶: <input type="text" name="username" />
時(shí)間: <input type="text" name="time" />
</form></body>
</html>
首先聲明一個(gè)保存 XMLHttpRequest 對(duì)象的 xmlHttp 變量。
然后使用 XMLHttp=new XMLHttpRequest() 來(lái)創(chuàng)建此對(duì)象。這條語(yǔ)句針對(duì) Firefox、Opera 以及 Safari 瀏覽器。假如失敗,則嘗試針對(duì) Internet Explorer 6.0+ 的 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"),假如也不成功,則嘗試針對(duì) Internet Explorer 5.5+ 的 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")。
假如這三種方法都不起作用,那么這個(gè)用戶所使用的瀏覽器已經(jīng)太過(guò)時(shí)了,他或她會(huì)看到一個(gè)聲明此瀏覽器不支持 AJAX 的提示。
注釋:上面這些瀏覽器定制的代碼很長(zhǎng),也很復(fù)雜。不過(guò),每當(dāng)您希望創(chuàng)建 XMLHttpRequest 對(duì)象時(shí),這些代碼就能派上用場(chǎng),因此您可以在任何需要使用的時(shí)間拷貝粘貼這些代碼。上面這些代碼兼容所有的主流瀏覽器:Internet Explorer、Opera、Firefox 以及 Safari。
下一節(jié)為您展示如何使用 XMLHttpRequest 對(duì)象與服務(wù)器進(jìn)行通信。