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 對象與服務器進行通信。
新聞熱點
疑難解答
圖片精選