• AJAX 数据库实例


    AJAX 用于创建动态性更强的应用程序。

    AJAX ASP 实例

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

    实例

    请在下面的输入框中键入字母(A - Z):

    姓名:

    建议:

    亲自试一下源代码

    实例解释 - HTML 页面

    当用户在上面的输入框中键入字符时,会执行 "showHint()" 函数。该函数由 "onkeyup" 事件触发:

    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function showHint(str)
    {
    if (str.length==0)
      {
      document.getElementById("txtHint").innerHTML="";
      return;
      }
    if (window.XMLHttpRequest)
      {// 针对 IE7+, Firefox, Chrome, Opera, Safari 的代码
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// 针对 IE6, IE5 的代码
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","gethint.asp?q="+str,true);
    xmlhttp.send();
    }
    </script>
    </head
    <body>
    
    <p><b>请在输入框中输入英文字符:</b></p>
    <form>
    First name: <input type="text" onkeyup="showHint(this.value)" size="20">
    </form>
    <p>Suggestions: <span id="txtHint"></span></p>
    
    </body>
    </html>
    

    源代码解释:

    如果输入框是空的(str.length==0),该函数会清空占位符 txtHint 的内容,并推出该函数。

    如果输入框不是空的,那么 showHint() 会执行以下步骤:

    • 创建 XMLHttpRequest 对象
    • 创建在服务器响应就绪时执行的函数
    • 向服务器上的文件发送请求
    • 请注意添加到 URL 末端的参数(q)(包含输入框的内容)

    ASP 文件

    上面这段 JavaScript 调用的服务器页面是名为 "gethint.asp" 的 ASP 文件。

    "gethint.asp" 中的源代码会检查姓名数组,然后向浏览器返回对应的姓名:

    <%
    response.expires=-1
    dim a(30)
    'Fill up array with names
    a(1)="Anna"
    a(2)="Brittany"
    a(3)="Cinderella"
    a(4)="Diana"
    a(5)="Eva"
    a(6)="Fiona"
    a(7)="Gunda"
    a(8)="Hege"
    a(9)="Inga"
    a(10)="Johanna"
    a(11)="Kitty"
    a(12)="Linda"
    a(13)="Nina"
    a(14)="Ophelia"
    a(15)="Petunia"
    a(16)="Amanda"
    a(17)="Raquel"
    a(18)="Cindy"
    a(19)="Doris"
    a(20)="Eve"
    a(21)="Evita"
    a(22)="Sunniva"
    a(23)="Tove"
    a(24)="Unni"
    a(25)="Violet"
    a(26)="Liza"
    a(27)="Elizabeth"
    a(28)="Ellen"
    a(29)="Wenche"
    a(30)="Vicky"
    
    '从 URL 获得参数 q
    q=ucase(request.querystring("q"))
    
    '如果长度 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
    
    '如果未找到提示,则输出 "no suggestion"
    'or output the correct values
    if hint="" then
      response.write("no suggestion")
    else
      response.write(hint)
    end if
    %>
    

    源代码解释:

    如果 JavaScript 发送了任何文本(即 strlen($q) 大于 0),则会发生:

    • 查找匹配来自 JavaScript 的字符的姓名
    • 如果未找到匹配,则将响应字符串设置为 "no suggestion"
    • 如果找到一个或多个匹配姓名,则用所有姓名设置响应字符串
    • 把响应发送到占位符 "txtHint"

    http://www.w3school.com.cn/asp/asp_ajax_asp.asp

  • 相关阅读:
    Bash简单介绍
    三大框架常遇的错误:hibernate : object references an unsaved transient instance
    第二十八篇: 学习笔记
    oracle表空间查询维护命令大全之二(undo表空间)
    JSON 数据的系统解析
    MySQL字符串函数
    HDU ACM 1025 Constructing Roads In JGShining&#39;s Kingdom-&gt;二分求解LIS+O(NlogN)
    实时竞价RTB广告平台_传漾科技_中国领先的智能数字营销引擎
    秒聘网-产品经理招聘,免费、专注、极速
    “小鸟推送”从DSP做到营销效果最大化,挂牌新三板后正在寻求B轮定增
  • 原文地址:https://www.cnblogs.com/seasonzone/p/4995271.html
Copyright © 2020-2023  润新知