专业编程基础技术教程

网站首页 > 基础教程 正文

AJAX进阶,小白继续进,高手继续绕道!

ccvgpt 2024-08-02 11:53:56 基础教程 64 ℃

今天,我们利用AJAX创建动态性更强的应用程序,实现与WEB服务器的通信。希望对大家有所启发。

先看案例效果:

当输入英文姓名的时候,下边会根据你输入的内容给出一些建议姓名。下面,来看设计思路。

AJAX进阶,小白继续进,高手继续绕道!

一、设计页面样式,这个太简单了,难不倒大家。

<body>

<h3>请输入您的英文姓名:</h3>

<form action="">

姓名:<input type="text" id="txt1" onkeyup="showHint(this.value)" />//添加一个按键抬起的事件

</form>

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

</body>

二、创建AJAX实例,实现与WEB服务器的通信

<script type="text/javascript">

function showHint(str)

{

var xmlhttp;

if (str.length==0)

{

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

return;

}

if (window.XMLHttpRequest)

{

xmlhttp=new XMLHttpRequest();

}

else

{// 为IE6及以下浏览器做的兼容

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.open("GET","/ajax/gethint.php?q="+str,true); //特别注意,这里有一个q参数,为的是让web服务器接收该参数并进行处理

xmlhttp.send();

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

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

}

}

}

三、在WEB端进行代码的处理

<?php

// 用名字来填充数组

$a[]="Anna";

$a[]="Brittany";

$a[]="Cinderella";

$a[]="Diana";

$a[]="Eva";

$a[]="Fiona";

$a[]="Gunda";

$a[]="Hege";

$a[]="Inga";

$a[]="Johanna";

$a[]="Kitty";

$a[]="Linda";

$a[]="Nina";

$a[]="Ophelia";

$a[]="Petunia";

$a[]="Amanda";

$a[]="Raquel";

$a[]="Cindy";

$a[]="Doris";

$a[]="Eve";

$a[]="Evita";

$a[]="Sunniva";

$a[]="Tove";

$a[]="Unni";

$a[]="Violet";

$a[]="Liza";

$a[]="Elizabeth";

$a[]="Ellen";

$a[]="Wenche";

$a[]="Vicky";

//获得来自 URL 的 q 参数

$q=$_GET["q"];

//如果 q 大于 0,则查找数组中的所有提示

if (strlen($q) > 0)

{

$hint="";

for($i=0; $i<count($a); $i++)

{

if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))

{

if ($hint=="")

{

$hint=$a[$i];

}

else

{

$hint=$hint." , ".$a[$i];

}

}

}

}

// 如果未找到提示,则把输出设置为 "no suggestion"

// 否则设置为正确的值

if ($hint == "")

{

$response="no suggestion";

}

else

{

$response=$hint;

}

//输出响应

echo $response;

?>

这样,一个简单的与WEB服务器通信的效果就做出来了,再延伸的话就是在此基础上实现与数据库的通信,下节课我们再共同学习。

Tags:

最近发表
标签列表