如何使用javascript获取php返回值?
我正在尝试创建一个ajax请求。这是我的密码:如何使用javascript获取php返回值?,javascript,php,ajax,Javascript,Php,Ajax,我正在尝试创建一个ajax请求。这是我的密码: function cek(){ var username = $("#username").val(); var password = $("#password").val(); if (username == "" && password == "") { alert("Username and password can't be empty!");
function cek(){
var username = $("#username").val();
var password = $("#password").val();
if (username == "" && password == "") {
alert("Username and password can't be empty!");
}else {
$.ajax({
url: "processLogin.php",
type: "POST",
data:{
username: $("#username").val(), password: $("#password").val()
},
success:function(e){
alert("e");
}
});
}
}
下面是php代码:
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM user WHERE nama='$username' AND password='$password'";
$query = $db->query($sql)or die(mysqli_error($db));
$result = $query->fetch_assoc();
if ($query->num_rows == 0) {
echo "Username not found!";
}elseif ($password != $result['password']) {
echo "Password incorrect!";
}else{
header('location:index.php');
}
我希望我的程序根据
if else
的结果显示警报。但它没有显示任何警报。我已经在谷歌上搜索过了,但我仍然无法让它工作。实际上,我对使用
ajax
是个新手。我希望有人能帮助我。谢谢。您需要做的一件事是删除alertalert(“e”)上的引号代码>
成为警报(e)代码>
然后,您需要使用prevent default返回prevent表单提交/加载页面,当用户名/密码为空时,还需要返回false,以便表单不会继续提交
<script type="text/javascript">
function cek(event){
event.preventDefault();
var username = $("#username").val();
var password = $("#password").val();
if (username == "" && password == "") {
alert("Username and password can't be empty!");
return false;
}else {
$.ajax({
url: "processLogin.php",
type: "POST",
data:{
username: $("#username").val(), password: $("#password").val()
},
success:function(e){
alert(e);
}
});
}
}
</script>
<form method="POST">
<input type="text" name="username" id="username">
<input type="password" name="password" id="password">
<button type="submit" class="button" id="login" onclick="cek(event)">Login</button>
</form>
功能cek(活动){
event.preventDefault();
var username=$(“#username”).val();
var password=$(“#password”).val();
如果(用户名=“”&密码=“”){
警报(“用户名和密码不能为空!”);
返回false;
}否则{
$.ajax({
url:“processLogin.php”,
类型:“POST”,
数据:{
用户名:$(“#用户名”).val(),密码:$(“#密码”).val()
},
成功:职能(e){
警报(e);
}
});
}
}
登录
删除警报(“e”)中的引号代码>您的代码易受攻击。您应该使用或准备带有绑定参数的语句,如中所述。@andrew它仍然不显示警报您是否使用cek()调用过cek
代码>?@blackcat现在可以工作了,非常感谢你,伙计。:)谢谢你,伙计。它起作用了。我想我在else
语句中仍然犯了错误。它显示一个包含标题('location:index.php')全部内容的警报代码>否不使用php进行重定向,在前端使用jquery/js进行重定向。。。使用php重定向将重定向ajax请求,无需删除头('location:index.php')然后等待ajax上的响应,如果响应是您想要的,那么在Front中重定向。非常感谢您的帮助。现在我可以继续了。:)