JS AJAX --- PHP和ASP实例

news/2024/7/19 13:29:44 标签: php, ajax, js

AJAX 用于创建更具交互性的应用程序

PHP 实例

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

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

  • 创建 XMLHttpRequest 对象
  • 创建当服务器响应就绪时执行的函数
  • 发送请求到服务器上的 PHP 文件(gethint.php
  • 请注意添加到 gethint.php 的 q 参数
  • str 变量保存了输入字段的内容
<!DOCTYPE html>
<html>
<body>

<h1>XMLHttpRequest 对象</h1>

<h2>请在下面的输入字段中键入字母 A-Z:</h2>
<form>姓名:<input type="text" id="txt1" onkeyup="showHint(this.value)"></form>
<script>
function showHint(str) {
	var xhttp;
	if(str.length == 0){
	 document.getElementById("txtHint").innerHTML = "";
    return;
	}
	xhttp = new XMLHttpRequest();
	xhttp.onreadystatechange = function() {
	if(this.readyState == 4 && this.status == 200){
	 document.getElementById("txtHint").innerHTML = this.responseText;
	};
	  xhttp.open("GET", "/demo/gethint.php?q="+str, true);
  xhttp.send(); 
	}
}
</script>
</body>
</html>

php_41">PHP 文件 - “gethint.php

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

php"><?php
// 姓名数组
 $a[] = "Ava";
 $a[] = "Brielle";
 $a[] = "Caroline";
 $a[] = "Diana";
 $a[] = "Elise";
 $a[] = "Fiona";
 $a[] = "Grace";
 $a[] = "Hannah";
 $a[] = "Ileana";
 $a[] = "Jane";
 $a[] = "Kathryn";
 $a[] = "Laura";
 $a[] = "Millie";
 $a[] = "Nancy";
 $a[] = "Opal";
 $a[] = "Petty";
 $a[] = "Queenie";
 $a[] = "Rose";
 $a[] = "Shirley";
 $a[] = "Tiffany";
 $a[] = "Ursula";
 $a[] = "Victoria";
 $a[] = "Wendy";
 $a[] = "Xenia";
 $a[] = "Yvette";
 $a[] = "Zoe";
 $a[] = "Angell";
 $a[] = "Adele";
 $a[] = "Beatty";
 $a[] = "Carlton";
 $a[] = "Elisabeth";
 $a[] = "Violet";

// 从 URL 获取 q 参数
$q = $_REQUEST["q"];

$hint = "";

// 查看数组中所有 hint,$q 是否与 "" 相同
if ($q !== "") {
    $q = strtolower($q);
    $len=strlen($q);
    foreach($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($hint === "") {
                $hint = $name;
            } else {
                $hint .= ", $name";
            }
         }
    }
}

// 输出 "no suggestion",如果未找到 hint 或输出正确的值
  echo $hint === "" ? "no suggestion" : $hint;
?>

ASP 文件 - “gethint.asp”

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

php"><%
 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.niftyadmin.cn/n/553252.html

相关文章

Unity日记—对象缓存池

最近都在忙别的事了&#xff0c;今天忙里偷闲了解了一下对象池是啥玩意&#xff0c;简单记录一下。 还是个正在学习的萌新&#xff0c;如果写的不好请见谅。 1.对象池是啥 在了解对象池之后&#xff0c;我才意识到以前写的代码有多么蠢&#xff0c;当场景中有一些重复的需要生成…

JS AJAX---数据库

AJAX可用于同数据库进行交互式通信 AJAX Database实例 showCustomer() 函数进行如下&#xff1a; 检查是否选取客户创建 XMLHttpRequest 对象创建当服务器响应就绪时执行的函数向服务器上的文件发送请求请注意&#xff0c;参数 q 被添加到 URL&#xff08;带有下拉列- 表的内…

contiki 学习资料

参考资料&#xff1a; Contiki官方网站&#xff1a; www.contiki-os.org Contiki Wiki&#xff1a;www.sics.se/contiki/wiki Contiki 源代码文档&#xff1a;http://dak664.github.com/contiki-doxygen Contiki代码下载&#xff1a;http://sourceforge.net/projects/contiki/f…

cannot be cast to javax.servlet.Servlet 解决

使用maven创建web项目的时候&#xff0c;通过添加依赖的方式来添加servlet-api&#xff0c;如下 通过maven的命令(tomcat:run)来启动项目&#xff0c;发现访问的时候报错&#xff0c;错误如下&#xff1a; 错误排查&#xff1a; 首先查看servlet&#xff0c;发现继承的是HttpSe…

安装elasticsearch遇到的几个问题

首先我已经安装好了jdk1.8的环境并成功解压&#xff0c;并打算用./bin/elasticsearch这个命令把elasticsearch跑起来&#xff0c;然后我遇到了第一个问题。 一 第一个问题的提示是&#xff1a; Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000…

js的window对象

js的window对象 1.子窗口方法 function testOpen(){   window.open(son.html,newwindow,height400, width600, top100px,left320px, toolbaryes, menubaryes, scrollbarsyes,     resizableyes,locationno, statusyes); } 注意&#xff1a;   关闭页面的方法window.clo…

vue的[__ob__: Observer]

为什么会获取不到里面的值 因为&#xff1a;vue data 里面值都是有这个属性的。这是被vue接管的数据&#xff0c;observer是Vue核心中最重要的一个模块&#xff08;个人认为&#xff09;&#xff0c;能够实现视图与数据的响应式更新&#xff0c;底层全凭observer的支持。 在初…

《构建之法》阅读笔记03

在软件开发过程中&#xff0c;团队是十分重要的&#xff0c;大部分的都是以团队为基础进行开发的。一个团队的模式也十分的重要&#xff0c;团队模式通常决定了团队的开发模式&#xff0c;例如一窝蜂的团队模式&#xff0c;感觉很容易养成“写了再改”的开发模式。而稍微成熟一…