日期:2014-05-16  浏览次数:20720 次

【AJAX进阶(二)】--异步模糊查询

        上篇博客讨论了DOM的基本使用情况,DOM树使得程序员能够直接在后台来操作HTML元素,熟练的使用DOM并集合AJAX能够构造出网页应用程序。今天进一步使用AJAX来实现一些复杂的功能,主要来讨论使用AJAX实现异步模糊查询的功能。


一、查漏补缺

  

        对于AJAX属性也许您已经不再陌生,因为上篇博客已经对属性和方法进行了初步的讨论,而且通过实例来运用了属性和方法,今天来更深入的来介绍下AJAX的属性的使用方法。

    1、属性讲解

         onreadystatechange是AJAX很重要的一个属性,直译为请求状态改变,它封存了处理服务器响应的函数,也就是我们通常所说的注册回调函数。在向服务器请求数据时,首先要执行该函数,在每次执行完请求操作后都会重新执行该属性方法。在编写浏览器脚本时通常使用如下的代码:

xmlHttp.onreadystatechange=function()
{
          //我们往往这样写这里的代码
	if(XMLHttp.readyState==4)//判断请求操作是否执行完成
        {
             if(XMLHttp.status==200) //执行完成后是否正确返回数据
                   showDiv.innerHTML=XMLHttp.responseText;             
        }
}

    在上面的代码示例中创建了XMLHTTPRequest对象,并为该对象注册了回调函数,另外还有两个属性readyStatestatus两个属性没有说到,下面将会进行深入的讨论。那首先来看看readyState属性吧。


        readyState属性封存了服务器响应的信息,每当 readyState改变时,onreadystatechange函数就会被执行。你也许会问为什么要判断该属性,那说明你对该属性没有深刻的认识,使用该属性能够时刻监视返回请求的状态,清楚的了解请求所进行到的步骤。在客户端发出请求后会服务器会不断的向客户端发出数据,每次返回数据该属性的值都会发生变化,如下表是readyState的可能值。

        另外对于status属性,封存了服务器返回的http状态码,如我们经常所见的404500等,它们分别代表了不同的返回信息。其中200表示“成功”,404表示“未找到”,500表示“服务器内部错误”。如果想要了解更多它的使用方法的话,那就多加应用该属性吧。


二、模糊查询