Javascript 如何将响应从PHP发送到Ajax?
此JavaScript代码使用POST方法将数据从表单发送到PHP,PHP在PHP中检查数据库中的数据是否为真。但我不知道如何从PHP向JS发送抓取成功的响应。有人能解释一下吗 JS:Javascript 如何将响应从PHP发送到Ajax?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,此JavaScript代码使用POST方法将数据从表单发送到PHP,PHP在PHP中检查数据库中的数据是否为真。但我不知道如何从PHP向JS发送抓取成功的响应。有人能解释一下吗 JS: <?php session_start(); //connect $username =$_POST['username']; $password =$_POST['password']; $sql = "SELECT * FROM user WHERE email ='$username' OR
<?php
session_start();
//connect
$username =$_POST['username'];
$password =$_POST['password'];
$sql = "SELECT * FROM user WHERE email ='$username' OR username ='$username' AND password = '$password'";
$result = mysqli_query($conn, $sql);
if(!$row = mysqli_fetch_assoc($result)){
//response error
} else{
//response success
}
?>
$('submit btn')。在('click',function()上{
var dataString='username='+document.getElementById('username').value+'&password='+document.getElementById('password').value+'&rememberMe='+document.getElementById('rememberMe').value;
$.ajax({
类型:“POST”,
url:“ajaxsubmit.php”,
数据:dataString,
cache:false,
成功:函数(){
//检查是否有响应
}
});
ajaxsubmit.php:
<?php
session_start();
//connect
$username =$_POST['username'];
$password =$_POST['password'];
$sql = "SELECT * FROM user WHERE email ='$username' OR username ='$username' AND password = '$password'";
$result = mysqli_query($conn, $sql);
if(!$row = mysqli_fetch_assoc($result)){
//response error
} else{
//response success
}
?>
无论您在php中回显什么,都将被发送回ajax
if(!$row = mysqli_fetch_assoc($result)){
echo 0;
}
else{
echo 1;
}
您必须在PHP中回显某些内容才能获得返回的内容:
if(!$row = mysqli_fetch_assoc($result)){
//response error
echo 'there is a problem';
} else {
//response success
echo 'yippee!';
}
然后,您可以按如下方式记录返回:
$('#submit-btn').on('click', function() {
var dataString = 'username=' + document.getElementById('username').value + '&password=' + document.getElementById('password').value + '&rememberMe=' + document.getElementById('rememberMe').value;
$.ajax({
type: "POST",
url: "ajaxsubmit.php",
data: dataString,
cache: false,
success: function(data){ // 'data' is the variable holding the return from PHP's echo
//check if what response is
console.log(data);
}
});
警告说了解有关的声明。即使是也不安全
危险永远不要存储纯文本密码!请使用PHP来处理密码安全问题。如果您使用的PHP版本低于5.5,则可以使用密码\u散列()
在散列之前,无需对其使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码。您可以使用响应参数退出方法。例如:
ajaxsubmit.php
if(!$row = mysqli_fetch_assoc($result)){
exit('error'); //exit with response 'error'
} else{
exit('success'); //exit with response 'success'
}
JS
$('#submit-btn').on('click', function() {
var dataString = 'username=' + document.getElementById('username').value + '&password=' + document.getElementById('password').value + '&rememberMe=' + document.getElementById('rememberMe').value;
$.ajax({
type: "POST",
url: "ajaxsubmit.php",
data: dataString,
cache: false,
success: function(response){
//check if what response is
console.log(response);
}
});
表示了解的语句。即使是也不安全!永远不要存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用password\u hash()
。在散列之前,不必对它们执行任何其他清理机制。这样做会更改密码并导致不必要的额外编码。您必须echo
PHP中的某些内容才能将信息返回到AJAX。console.log()
不会弹出窗口。