猿问

mysql数据库中的数据能正常调用出来,但是ajax不能正常工作

先在info数据库中建立 test 数据表,内容如下

 

http://img.mukewang.com/593ba2620001dacb03060155.jpg

然后建立页面 名为04.html:

<!DOCTYPE html>

<meta charset="utf-8">

<html>

<head>

<title></title>


</head>

<body>

<form action="" method="post">

<p>用户名: <input type="text" name="username"><span id='reg'></span></p>

<p>email: <input type="text" name="email"><span id='rmail'></span></p>

<p><input type="submit" value="注册"></p>

</form>

 

<script type="text/javascript">

var user=document.getElementsByName('username')[0];

var reg=document.getElementById('reg');

user.onblur=function(){

var url='04.php?un='+this.value;

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function(){

if(this.readyState == 4) {

if(this.responseText == 0 ){

reg.innerHTML='<font color="green">可用</font>';

}else{

reg.innerHTML='<font color="red">不可用</font>';

}

}

}

xhr.open('get',url,true);

xhr.send(null);

}

</script>

</body>

</html>

 

建立对应PHP程序  名为 04.php

<?php 

header("Content-type: text/html; charset=utf-8");

  if($con=mysql_connect('localhost','',''))

   { // echo '连接服务器成功'; 

}else{

echo '连接失败';

}


if(mysql_select_db('info')) {

// echo '连接数据库成功';

}else{

echo '链接数据库失败';

}

if(mysql_query('SET NAMES UTF8')) {

// echo '设置字符成功'; 

        }else{

mysql_error();

}

 

 $un = $_GET['un'];

$users = array('zhangsan' , 'lisi' , 'wangwu');

// print_r($users);

echo  in_array($un, $users)?1:0; 

 

/*  屏蔽1 

 $query = mysql_query('SELECT name FROM test'); 

    $data = array();

    while($row=mysql_fetch_row($query)) {

    $data[]=$row[0];

   }

   // print_r($data);

 echo in_array($un, $data)?1:0;

*/ 

?>

问题来了:

如果先把 屏蔽1的内容注释掉, 功能 是正常的。 在输入框输入 zhangsan , lisi 都会在后面显示  “不可用”

输入其他内部会  显示 “可用”

我用print_r($users); 查询内容如下

Array ( [0] => zhangsan [1] => lisi [2] => wangwu )

 

然后, 我把

$users = array('zhangsan' , 'lisi' , 'wangwu');

print_r($users);

echo  in_array($un, $users)?1:0; 

这一段全屏蔽掉, 使用 上面的 屏蔽1 的语句

 

先打印print_r($data); 内容如下

Array ( [0] => 苹果 [1] => 香蕉 [2] => 荔枝 [3] => abc )

然后屏蔽print_r($data);  执行  echo in_array($un, $data)?1:0;

不管在 用户名  栏输入什么内容,后面都显示  “不可用”

 

为什么? 我哪里写错了


rainy_li3676598
浏览 1808回答 2
2回答

qq_歲月靜好不忘初心_0

我想问一下这个mysql软件程序是哪个版本,有下载链接么?

枫语0

ajax 能出的无解的问题 一般是跨域问题
随时随地看视频慕课网APP
我要回答