这是让ajax签出用户存在的表单。
<!DOCTYPE html>
<html>
<head><title>Register new user!</title>
<script src="jquery-1.7.1.min.js"></script>
</head>
<body>
Username:
<input type="text" name="username" id="username"/><span id="user"></span><br/>
Password:
<input type="password" name="password" id="password"/><br/>
<input type="button" value="Register" name="submit" id="submit" onclick="register_user();"/>
</body>
<script>
function register_user()
{
$.ajax(
{
type:"POST",
data:username,
url:"userexists.php"
})
.fail(function()
{
$('#user').html("This user already exists");
}
);
}
</script>
</html>
这是userexists.php模块
<?php
// connection to the db
define(IPHOST,"localhost");
define(DBPASSWORD,"");
define(DBUSER,"root");
define(DATABASE,"ajaxtest");
define(TABLENAME,"at");
$conn=mysql_connect(IPHOST,DBUSER,DBPASSWORD) or die(mysql_error());
mysql_select_db(DATABASE) or die(mysql_error());
$username=$_POST('username');
$sql="SELECT username FROM ".TABLENAME." WHERE username=".$username;
$query=mysql_query($sql);
if(0!=mysql_numrows($query))
{
//
}
else
{
}
?>
但是我很难弄清楚ajax函数是如何工作的,例如,在我知道输入的用户名已被使用后,我应该输入空白字段?我根本不懂阿贾克斯。
答案 0 :(得分:0)
您需要返回一个JSON编码数组(查看http://php.net/manual/en/function.json-encode.php)。它基本上会返回这样的东西:
if(0!=mysql_numrows($query))
{
echo '{';
echo '"myMessage":"'.$username." was found'",';
echo '"myStatus":"1",';
echo '}';
}
else
{
echo '{';
echo '"myMessage":"'.$username." was NOT found'",';
echo '"myStatus":"0",';
echo '}';
}
然后,你的AJAX处理它是这样的:
$.ajax({
type: "GET",
url: "userexists.php",
data: dataString,
dataType: "json",
success: function(data) {
if(data.myStatus== 'Y') {
var msg = data.myMessage;
}
}
});
(我知道这是一个非常广泛的答案,但是使用JSON结果从PHP调用AJAX需要多个段落的答案才能完全理解。如果你有google jquery AJAX GET JSON结果,那么有很多很好的例子)
AJAX成功:/失败:是否AJAX调用成功,它与被调用页面可能返回无关。例如如果您调用的页面不存在,或者代码崩溃,则会触发失败。您的脚本决定返回什么,并且AJAX调用必须才能成功检索该页面发送给您的内容。