看视频写的AJAX无法返回信息,求助
初学AJAX,写的AJAX无法返回信息,无法返回信息,php处理页单独测试是可以判断的,就是不能从TEST.HTML中看到返回信息,求助下面是代码
////test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>无标题文档</title>
</head>
<script type="text/javascript" src="js/ajax.js" ></script>
<body>
<form action="" name="myform" method="post" >
用户名:<input type="text" name="username" value="" onblur="chkname()" />
<div id="userInfoDiv" ></div>
</form>
</body>
</html>
////////////////////////////chkname.php///////////
<?php
//$_GET['username']='admin';
/*
直接用浏览器打开,可以连接数据库,也可以输出信息
*/
include('global.php');
$sql = "select * from `members` where username='".$_GET['username']."'";
$result = $mysql->query($sql);
if(is_array(mysql_fetch_row($result)))
{
echo "<font color=#FF0000>用户名已经存在!</font>";
}
else
{
echo "恭喜您,可以注册!";
}
//<font color=\"#1E7ACE\" ><img src=images/duihao.jpg></font>
?>
//////////////js/ajax.js///////////
// ajax Document
/*
ajax是什么及其工作原理
Ajax 由 HTML、JavaScript 技术、DHTML 和 DOM 组成,这一杰出的
方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。
*/
//创建XMLHttpRequest对象
var xmlHttp;
function S_xmlhttprequest()
{
if(window.ActiveXObject)//ie浏览器标准
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpReuqest)//火狐浏览器及其他浏览器标准
{
xmlHttp = new XMLHttpRequest();
}
}
//register页面跳转过来执行函数
function chkname()
{
var username = document.myform.username.value;
alert(username);
S_xmlhttprequest();
xmlHttp.open("GET","chkname.php?username="+username,true);//打开请求
xmlHttp.onreadystatechange = byid;//准备就绪执行
xmlHttp.send(null);//发送请求
}
/*
方法XHR.readyState五种状态(0,1,2,3,4)
0:请求未初始化,还没有调用 open()。
1:请求已经建立,但是还没有发送,还没有调用 send()。
2:请求已发送,正在处理中(通常现在可以从响应中获取内容头)。
3:请求在处理中;通常响应中已有部分数据可用了,没有全部完成。
4:响应已完成;您可以获取并使用服务器的响应了。
方法XHR.status常见的几种状态
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
200——成功
201——提示知道新文件的URL
300——请求的资源可在多处得到
301——删除请求数据
404——没有发现文件、查询或URl
500——服务器产生内部错误
*/
function byid()
{
if(xmlHttp.readyState == 1)
{
document.getElementById('userInfoDiv').innerHTML = "<font color=\"#1E7ACE\">正在检测用户名是否存在.....</font>";
}
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
var result = xmlHttp.responseText;
document.getElementById('userInfoDiv').innerHTML = result;//获取执行结果
}
}
}