1.搭建Ajax开发框架,代码如下
var http_request = false;
function createRequest(url) {
//初始化对象并发出XMLHttpRequest请求
http_request = false;
if (window.XMLHttpRequest) { //Mozilla等其他浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) { //IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert("不能创建XMLHTTP实例!");
return false;
}
http_request.onreadystatechange = alertContents; //指定响应方法
http_request.open("GET", url, true); //发出HTTP请求
http_request.send(null);
}
function alertContents() { //处理服务器返回的信息
if (http_request.readyState == 4) {
if (http_request.status == 200) {
alert(http_request.responseText);
} else {
alert('您请求的页面发现错误');
}
}
}
2.编写JavaScript的自定义函数checkname();用于检测用户名是否为空,当用户名不为空时,调用createRequest() 方法发送请求检测用户名是否存在,代码如下:function checkname()
{
var username = form1.user.value;
if (username=="")
{
window.alert ("请输入用户名");
}
else
{
createRequest('action/checkname.php?username='+username+'&nocache='+new Date().getTime());
}
}
3.在页面添加"检测用户名超链接"
[检测用户名]4.创建checkname.php处理页面,代码如下<?php
header("Content-type= text/html; charset=utf8");
include "../conn/conn.php";
$GB2312string=iconv( 'UTF-8', 'gb2312//IGNORE' , $RequestAjaxString); //Ajax中先用encodeURIComponent对要提交的中文进行编码
$username = $_GET[username];
$sql=mysql_query("select * from user where username='".$username."'")or die (mysql_error());
$info=mysql_fetch_array($sql);
if($info)
{
echo "祝贺您!用户名[".$username."]没有被注册!";
}
else
{
echo "祝贺您!用户名[".$username."]没有被注册!";
}
?>
初学PHP,在学习实践中记录下问题,技巧,代码有问题或者有其他意见欢迎提出,共同进步~