我有这个按钮,我想要它做的是验证用户并隐藏#dialogcontainer
。
<button onclick=" authenticate();">Register</button>
每当我检查xmlhttp.responseText时,它工作正常,但是当我尝试将它分配给变量进行条件比较时,那就是我遇到问题的时候。
我想要做的是使用login.php文件检查用户存在的天气,并根据我要关闭对话框的xmlhttp.responseText。
<script>
function login(){
var username= $("#txtloginusername").val();
var password = $("#txtloginpassword").val();
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//var status = document.getElementById ("logindisplay").innerHTML=xmlhttp.responseText;
var status =xmlhttp.responseText;
$("#logindisplay").html(status);
/*if(status=="yes")
{
$("#logindisplay").html("user exist");
}
else
{
//$("#dialogcontainer").slideUp();
$("#logindisplay").html("NO");
}*/
}
}
xmlhttp.open("GET","login.php?username="+username +"&password=" + password,true);
xmlhttp.send();
}
</script>
这是用户身份验证的div对话框,我希望它在完成身份验证后消失
<div id="dialogcontainer">
<div id="dialog">
<h3>Welcome to Talk Login</h3>
<p>Username</p>
<input type="text" id="txtloginusername"/>
<p>Password</p>
<input type="password" id="txtloginpassword"/> <br /><br />
<button onclick="login()">Login</button>
<button onclick="javascript:$('#dialogcontainer').slideUp();">Exit</button>
<br>
<br>
<div id="logindisplay" class ="display"></div>
</div>
</div>
login.php文件
<?php
$username= $_GET["username"];
$password= $_GET["password"];
$db = mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("esk",$db);
$sqlcommand = "SELECT * FROM user WHERE username = '$username'";
$result = mysql_query($sqlcommand,$db);
if(mysql_num_rows($result)>=1)
{
echo "yes";
}
else
{
echo "no";
}
//$result = mysql_query($sqlcommand,$db);*/
?>
答案 0 :(得分:0)
你可以这样做:
function login() {
var username= $('#txtloginusername').val();
var password = $('#txtloginpassword').val();
$.ajax({
url: 'login.php',
type: 'POST',
data: {
username: username,
password: password
},
success: function(response) {
if ( response === 'yes' ) {
$('#logindisplay').html('user exist');
} else {
$('#logindisplay').html('NO');
}
},
error: function(xhr) {
// do something nice with errors you might get
}
});
}
只要此对话框用于登录,您就不应GET
请求,而是使用POST
。