管理杂谈OA答疑ERP答疑教程搜索

【asp】JS如何通过ajax获取远端服务器上指定页面的数据


【ASP】JS AJAX 实例

下面的例子演示:当用户在输入字段中键入字符时,网页如何与 web 服务器进行通信:

实例

请在下面的输入字段中键入字母 A-Z:

姓名:

搜索建议:

例子解释

在上面的例子中,当用户在输入字段中键入字符时,会执行名为 "showHint()" 的函数。

此函数被 onkeyup 事件触发。

下面是 HTML 代码:

实例

<html>

    <head>

        <script>

            function showHint(str) {

                if (str.length == 0) {

                    document.getElementById("txtHint").innerHTML = "";

                    return;

                } else {

                    var xmlhttp = new XMLHttpRequest();

                    xmlhttp.onreadystatechange = function () {

                        if (this.readyState == 4 && this.status == 200) {

                            document.getElementById("txtHint").innerHTML = this.responseText;

                        }

                    };

                    xmlhttp.open("GET", "gethint.asp?q=" + str, true);

                    xmlhttp.send();

                }

            }

        </script>

    </head>

    <body>

        <p><b>请在下面的输入字段中键入字母 A-Z:</b></p>

        <form>姓名:<input type="text" onkeyup="showHint(this.value)" /></form>

        <p>搜索建议:<span id="txtHint"></span></p>

    </body>

</html>

亲自试一试

代码解释:

首先,检查输入字段是否为空(str.length == 0);如果是,清空 txtHint 占位符的内容并退出函数。

不过,如果输入字段不为空,则进行如下:

ASP 文件 - "gethint.asp"

这个 ASP 文件检查姓名数组,然后向浏览器返回对应的姓名:

<%

 response.expires=-1

 dim a(32)

 '用姓名填充数组

 a(1)="Ava"

 a(2)="Brielle"

 a(3)="Caroline"

 a(4)="Diana"

 a(5)="Elise"

 a(6)="Fiona"

 a(7)="Grace"

 a(8)="Hannah"

 a(9)="Ileana"

 a(10)="Jane"

 a(11)="Kathryn"

 a(12)="Laura"

 a(13)="Millie"

 a(14)="Nancy"

 a(15)="Opal"

 a(16)="Petty"

 a(17)="Queenie"

 a(18)="Rose"

 a(19)="Shirley"

 a(20)="Tiffany"

 a(21)="Ursula"

 a(22)="Victoria"

 a(23)="Wendy"

 a(24)="Xenia"

 a(25)="Yvette"

 a(26)="Zoe"

 a(27)="Angell"

 a(28)="Adele"

 a(29)="Beatty"

 a(30)="Carlton"

 a(31)="Elisabeth"

 a(32)="Violet"


 '从 URL 获取 q 参数

 q=ucase(request.querystring("q"))


 '查看数组中所有 hint,q 的长度是否大于 0

 if len(q)>0 then

   hint=""

   for i=1 to 30

     if q=ucase(mid(a(i),1,len(q))) then

       if hint="" then

         hint=a(i)

       else

         hint=hint & " , " & a(i)

       end if

     end if

   next

 end if


 '如果未找到 hint,输出 "no suggestion",或输出正确的值

 if hint="" then

   response.write("no suggestion")

 else

   response.write(hint)

 end if

%>


更多精彩文章浏览...
点击右上角图标分享到朋友圈
官方网站:http://www.clicksun.cn
咨询热线:400-186-1886
服务邮箱:service@clicksun.cn