ajax验证-----未解决,高手看看呀
时间:2010-01-29
来源:互联网
我在用张老师讲的AJAX技术时,我就是直接复制张老的师代码,然后再查找数据库时用的我的数据库存,其它不变,不知道为什么,会出来加载的图片,但是就是不提示用户名是否可用,就是图片一直再动,这是为什么呀???高手解答一下呀?????
<?php
if($_GET[id]){
sleep(1);
$conn=mysql_connect('localhost','ykk','030605');
mysql_select_db('news_ykk',$conn);
$sql="SELECT * FROM `news_admin` where `a_name`='$_GET[id]'";
$q=mysql_query($sql);
if(is_array(mysql_fetch_row($q))){
echo "<font color=red>用户名已经存在</font>";
}else
{
echo "<font color=green>可以使用</font>";
}
}
?>
AJAX的支枝术!!!!!
var xmlHttp;
function S_xmlhttprequest() {
if(window.ActiveXObject) {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
} else if(window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function funphp(name) {
var f=document.myform.a_name.value;
S_xmlhttprequest();
xmlHttp.open("GET","for.php?id="+f,true);
xmlHttp.onreadystatechange = byphp;
xmlHttp.send(null);
}
function byphp() {
if(xmlHttp.readyState == 1) {
document.getElementById('php').innerHTML = "<img src='images/loading.gif'>";
}
if(xmlHttp.readyState == 4 ){
if(xmlHttp.status == 200) {
var byphp = xmlHttp.responseText;
document.getElementById('php').innerHTML = byphp;
}
}
}
<?php
if($_GET[id]){
sleep(1);
$conn=mysql_connect('localhost','ykk','030605');
mysql_select_db('news_ykk',$conn);
$sql="SELECT * FROM `news_admin` where `a_name`='$_GET[id]'";
$q=mysql_query($sql);
if(is_array(mysql_fetch_row($q))){
echo "<font color=red>用户名已经存在</font>";
}else
{
echo "<font color=green>可以使用</font>";
}
}
?>
AJAX的支枝术!!!!!
var xmlHttp;
function S_xmlhttprequest() {
if(window.ActiveXObject) {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
} else if(window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function funphp(name) {
var f=document.myform.a_name.value;
S_xmlhttprequest();
xmlHttp.open("GET","for.php?id="+f,true);
xmlHttp.onreadystatechange = byphp;
xmlHttp.send(null);
}
function byphp() {
if(xmlHttp.readyState == 1) {
document.getElementById('php').innerHTML = "<img src='images/loading.gif'>";
}
if(xmlHttp.readyState == 4 ){
if(xmlHttp.status == 200) {
var byphp = xmlHttp.responseText;
document.getElementById('php').innerHTML = byphp;
}
}
}
[ 此帖被zhaohui8445在2010-01-30 12:17重新编辑 ]
作者: zhaohui8445 发布时间: 2010-01-29
ajax是没错的,可能是xmlHttp.open("GET","for.php?id="+f,true); 这里错了。你给id赋一个值看看
作者: yuejide 发布时间: 2010-01-29
我试过了,赋值后,for.php文件可以提示,但是使用GET就无法显示,会出现加载的图片,但就是不显示结果!
作者: zhaohui8445 发布时间: 2010-01-30
首先建议你先在php那个页面直接在地址栏中赋值看能否正确显示登录信息,如果可以就是前台的ajax的问题了,我看了一下
在byphp函数中
if(xmlHttp.readyState == 1) {
document.getElementById('php').innerHTML = "<img src='images/loading.gif'>";
}
if(xmlHttp.readyState == 4 ){
if(xmlHttp.status == 200) {
var byphp = xmlHttp.responseText;
document.getElementById('php').innerHTML = byphp;
试着直接使用if(xmlHttp.readyState==4)来看应该可以显示出结果,因为前面的funphp函数中只调用了一次byphp,那么肯定调用第一次的结果是readystate=1,那么就只出现开始的载入的图片而后来出现readystate值变为4就不能执行操作了,试着分离看,有什么就留言我们一起解决哈,呵呵
在byphp函数中
if(xmlHttp.readyState == 1) {
document.getElementById('php').innerHTML = "<img src='images/loading.gif'>";
}
if(xmlHttp.readyState == 4 ){
if(xmlHttp.status == 200) {
var byphp = xmlHttp.responseText;
document.getElementById('php').innerHTML = byphp;
试着直接使用if(xmlHttp.readyState==4)来看应该可以显示出结果,因为前面的funphp函数中只调用了一次byphp,那么肯定调用第一次的结果是readystate=1,那么就只出现开始的载入的图片而后来出现readystate值变为4就不能执行操作了,试着分离看,有什么就留言我们一起解决哈,呵呵
作者: zdcaosang 发布时间: 2010-01-30
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28