AJAX+PHP做的注册用户名是否已经注册思路
文件:ajax.htm
编码:UTF-8
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>AJAX</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<script type="text/javascript">
var xmlHttp=false;
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp=false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp=new XMLHttpRequest();
}
function CallServer()
{
var UserID=document.getElementById("UserID").value;
if (UserID!="")
{
var url ="Request.php?UserID="+encodeURI(UserID); //这里感谢风云指点,UTF-8下要用encodeURI
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=UpdateData;
xmlHttp.send(null);
}else
{
alert("请您填写用户名!");
}
}
function UpdateData()
{
if(xmlHttp.readyState<4)
{
span.innerHTML="loading...";
}
if(xmlHttp.readyState==4)
{
span.innerHTML=xmlHttp.responseText;
}
}
</script>
用户名: <input type="text" name="UserID" id="UserID" onchange="CallServer()" />
<span id="span"></span>
</body>
</html>
文件:Request.php
编码:UTF-8
<?php
sleep(1); //让程序先睡一秒
$tmp=$_GET["UserID"];
if ($tmp=='野草') //如果在客户端输入“野草”,那么就显示 已被注册
{
echo("已被注册");
}else{
echo("还没有被注册!");
}
?>
该代码在Mozila Firefox下无法执行,
在IE中可以正常执行,保存编码的时候要选择utf-8,否则显示的信息都是乱码!