Ajax 回调方法,但返回失败


ajax callback method but unsuccessful return

问题:我可以将值传递给 ajax 方法并成功实现 Select SQL(在网络中看到的结果),但它永远不会返回任何结果(我的结果是警报("成功")。 它有什么问题?

.HTML:

function selectupdate_Server(id)
    {
        var ID= id;
        console.log(ID);   --->Successfully logged 
        $.ajax({
            url: "abc.php",
            type: 'POST',
            data: {"ID": ID},
            dataType: 'json',
            success: function (data) {
                alert ('Success');   ------>Failed to alert
            }
        });
    }

.PHP:

   $serverName = "localhost";
  $username = "root";
   $password = "root";
  $dbName = "noticeboard";
  $tbName1 = "notice";
   $conn = new mysqli($serverName, $username, $password, $dbName);
  checkStaffLogin();
function checkStaffLogin()
{
global $conn, $tbName1;
if ($conn->connect_errno)
{
    echo "Fail to connect MYSQL database : " . $conn->connect_errno;
}
else {
     $ID= $_POST["ID"];
    $sql = "SELECT *
                     FROM $tbName1 where ID= '$ID'";
    $result = $conn->query($sql);
   if($result)
 { 
    while($row =mysqli_fetch_assoc($result) )
    {
        $table_data[]=           array("Name"=>$row['Name'],"Password"=>$row['Password']);
    }
        echo json_encode($table_data);
}
   <?php 
    $ID= $_POST["ID"];
        $sql = "SELECT * FROM ".$tbName1."where ID=".$ID;
        $result = $conn->query($sql);
        while($row =mysqli_fetch_assoc($result) )
        {
            $table_data[]=           array("Name"=>$row['Name'],"Password"=>$row['Password']);
        }
            echo json_encode($table_data);
?>


试试这个

在JS中,通过删除这些"ID"来检查数据的语法。尝试以下操作

function selectupdate_Server(id)
    {
        var ID= id;
         $.ajax({
            url: "abc.php",
            type: 'POST',
            data: {ID: ID},
            dataType: 'json',
            success: function (data) {
                alert ('Success');  
            }
        });
    }

尝试此查询

 $table_data=[];
 $sql = "SELECT * FROM ".$tbName1." where ID = ".$ID;

注意:使用预处理语句并将此标头附加到您的 PHP header('Content-Type: application/json');

要循环结果,请使用

success: function (data) {
               $.each(data,function(i,v){
                     console.log(v.Name)
               });
            }

注意数据应如下所示:

data: {ID: ID},

你试试这个Javascript函数

function selectupdate_Server(id)
{
    var ID= id;
    console.log(ID);   --->Successfully logged 
    $.ajax({
        type: 'POST',
        data: {ID: ID},
         url: "abc.php",
        dataType: 'json',
        success: function(resultss){
            try{
             alert ('Success'); 
            }catch(e)
            {
                alert(JSON.stringify(e)+"Catch error");//any Error in Your php file display alert.where,what error
            }
        },
        error: function(e){
         alert(JSON.stringify(e)+"error");//any Error in Your php file display alert.where,what error
        }
        });
}

此脚本,其中 PHP 文件中的错误提醒该行号和文件名,您检查和更正

和你这样的 PHP 代码

 checkStaffLogin();
 function checkStaffLogin()
 {
  $serverName = "localhost";
  $username = "root";
  $password = "root";
  $dbName = "noticeboard";
  $tbName1 = "notice";
  $conn = mysqli_connect($serverName, $username, $password, $dbName);
  if (mysqli_connect_errno($conn))
  {
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }
else {
  $ID= $_POST["ID"];
  $table_data=array();
  $sql = "SELECT * FROM $tbName1 where ID= '$ID'";
  $result = mysqli_query($conn,$sql) or die(mysql_error());
  if($result)
  { 
  while($row =mysqli_fetch_assoc($result) )
  {
    $table_data[]= array("Name"=>$row['Name'],"Password"=>$row['Password']);
  }
    echo json_encode($table_data);
  }
 }
 }

你试试这个