当前位置:编程学习 > JS >>

看视频写的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;//获取执行结果
        }
    }   
}

 

 

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,