AJAX教程

AJAX浏览器支持

并不是所有的浏览器都支持AJAX,以下是支持AJAX的主要浏览器:

o Mozilla Firefox 1.0及以上版本。

o Netscape 7.1及以上版本。

o Apple Safari 1.2及以上版本。

o Microsoft Internet Explorer 5及更高版本。

o Konqueror。

o Opera 7.6及以上版本。

o 国产主流的浏览器。

编写下一个应用程序时,最好要考虑不支持AJAX的浏览器时如何处理。

注 - 当浏览器不支持AJAX时,它只是意味着浏览器不支持创建Javascript XMLHttpRequest对象。

编写浏览器特定代码

使源代码与浏览器兼容的最简单方法是在JavaScript中使用try ... catch块。

<html>
   <body>
      <script language = "javascript" type = "text/javascript">
         <!-- 
         //Browser Support Code
         function ajaxFunction() {
            var ajaxRequest;  // The variable that makes Ajax possible!

            try {
               // Opera 8.0+, Firefox, Safari 
               ajaxRequest = new XMLHttpRequest();
            } catch (e) {

               // Internet Explorer Browsers
               try {
                  ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
               } catch (e) {

                  try {
                     ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch (e) {

                     // Something went wrong
                     alert("Your browser broke!");
                     return false;
                  }
               }
            }
         }
         //-->
      </script>

      <form name = 'myForm'>
         Name: <input type = 'text' name = 'username' /> <br />
         Time: <input type = 'text' name = 'time' />
      </form>

   </body>
</html>

在上面的JavaScript代码中,我们尝试三次来创建XMLHttpRequest对象。第一次尝试:

ajaxRequest = new XMLHttpRequest();

它适用于Opera 8.0 +,Firefox和Safari浏览器。如果失败,再尝试两次为Internet Explorer浏览器创建正确的对象

ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");

如果它不起作用,那么这里一个非常过时的浏览器,它不支持XMLHttpRequest,这也意味着它不支持AJAX。

但最有可能的是,变量ajaxRequest现在将被设置为浏览器使用任何XMLHttpRequest标准,我们可以开始向服务器发送数据。具体的AJAX工作流程将在下一章中介绍。