AJAX 的要點是 XMLHttpRequest 對象。
不同的浏覽器創建 XMLHttpRequest 對象的方法是有差異的。
IE 浏覽器使用 ActiveXObject,而其他的浏覽器使用名為 XMLHttpRequest 的 JavaScript 內建對象。
如需針對不同的浏覽器來創建此對象,我們要使用一條 "try and catch" 語句。您可以在我們的 JavaScript 教程中閱讀更多有關 try 和 catch 語句 的內容。
讓我們用這段創建 XMLHttpRequest 對象的 JavaScript 來更新一下我們的 "testAjax.htm" 文件:
<html> <body> <script type="text/javascript"> function ajaxFunction() { varxmlHttp
; try { // Firefox, Opera 8.0+, SafarixmlHttp=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" /> 時間: <input type="text" name="time" /> </form></body> </html>
首先聲明一個保存 XMLHttpRequest 對象的 xmlHttp 變量。
然後使用 XMLHttp=new XMLHttpRequest() 來創建此對象。這條語句針對 Firefox、Opera 以及 Safari 浏覽器。假如失敗,則嘗試針對 Internet Explorer 6.0+ 的 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"),假如也不成功,則嘗試針對 Internet Explorer 5.5+ 的 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")。
假如這三種方法都不起作用,那麼這個用戶所使用的浏覽器已經太過時了,他或她會看到一個聲明此浏覽器不支持 AJAX 的提示。
注釋:上面這些浏覽器定制的代碼很長,也很復雜。不過,每當您希望創建 XMLHttpRequest 對象時,這些代碼就能派上用場,因此您可以在任何需要使用的時間拷貝粘貼這些代碼。上面這些代碼兼容所有的主流浏覽器:Internet Explorer、Opera、Firefox 以及 Safari。
下一節為您展示如何使用 XMLHttpRequest 對象與服務器進行通信。