Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将响应从PHP发送到Ajax?_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 如何将响应从PHP发送到Ajax?

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

此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 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()
不会弹出窗口。