我在html中显示php的响应有问题,如果语句由于某种原因没有运行。
成功函数无法识别PHP回显。
的jQuery
<script>
$(document).ready(function(){
$("#login").submit(function(e){
e.preventDefault();
$.ajax({
type:"POST",
url:"logincheck.php",
data:$("#login").serialize(),
success:function(data){
if(data == "Niet oke"){
$("#status").html('Wachtwoord of username onjuist');
}
if(data == "Oke"){
$("#status").html('Mooi');
}
}
});
});
});
</script>
HTML文件
HTML
<form id="login">
<input type="text" name="username" placeholder="Username" />
<input type="password" name="password" placeholder="Password" />
<input type="submit" name="submit" value="Submit" />
</form>
<span id="status" style="color:black"></span>
*添加了logincheck.php文件,添加了标题的建议。
PHP
<?php
header("Content-type: application/json");
include_once("includes/dbcon.php");
include_once("pass_system.php");
if(!empty($_POST["username"]) && !empty($_POST["password"])){
$username = $_POST["username"];
$password = $_POST["password"];
$statement = $dbconnect->prepare("SELECT * FROM login WHERE username= :username");
$statement->execute(array(":username" => $username));
while($row = $statement->fetch()){
$salt1 = substr($row["password"], 0, 10);
$salt2 = substr($row["password"], -10);
if(pwhash($password, $salt1, $salt2) === $row["password"]){
header("location: status.php");
echo "Oke";
}
}
}else{
echo "Niet oke";
}
?>
答案 0 :(得分:4)
打开您的Javascript控制台,查看您的PHP脚本响应您的AJAX调用。
如果可以的话,我建议您制作JSON响应,并在PHP脚本中添加header("Content-type: application/json")
。
答案 1 :(得分:0)
最好删除name="submit"
中的<input type="submit" name="submit" value="Submit" />
,因为当您发送时,也发送submit=
标记最好用<script type="text/javascript">
替换。
您已加载Jquery示例库:<script src="http://code.jquery.com/jquery-2.0.0.js"></script>
你的运动对我来说不包含任何错误......
你可以提醒或者console.log数据响应吗?(你必须这样做)
答案 2 :(得分:0)
如果响应成功,请尝试使用trim函数作为响应数据。
if($.trim(data) ==