AJAX $ .ajax无法正常工作。代码出了什么问题? [关闭]

i am new to php,js and ajax, i am trying to display data from database with ajax but it doesn't seem to be working(console.log isn't executing). can anyone say what is wrong with the code?

at first i though jquery library isn't properly loaded but now i have included jquery library just above the function html/-

<div class="dropdown-menu" id="studentNames">
<a class="dropdown-item" href="#">Action</a>
<?php
  $conn=connectDB();
   $sql = "SELECT * FROM students";
    $result = $conn-> query($sql) or die('error'.mysqli_error($conn));
    if($result->num_rows>0){
        while($row=$result->fetch_assoc()){
            echo "<p class='dropdown-item' onClick=myfunction('$row[name]')>"."$row[name]"."</p><br>";
        }
    }
  ?>

js code/-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"</script>
<script>
function myfunction(name){
$(document).ready(function(){
   $.ajax({
        url:"showStudents.php", //the page containing php script
        type: "post", //request type,
        dataType: 'json',
        data: {
            registration: "success", 
            name: name
        },
        success:function(){
         console.log("data");
       }
     });
   });
}

php code/-

if(isset($_POST['registration'])&&$_POST['registration']== "success"){
    $regstration = $_POST['registration'];
    $name = $_POST['name'];
    $array = array();
    $conn = connectDB();

    $sql = "SELECT * FROM students where name='$name'";
    $result = $conn-> query($sql) or die('error'.mysqli_error($conn));

    if($result->num_rows>0){
        while($row=$result->fetch_assoc())
        {
            array_push($array,$row['name'],$row['branch']);    
        }

        echo $array;
    }
}

You need convert array to json string and then display (echo) return to javascript:

<?php
    echo json_encode($array);
?>

Your console.log is not executed because your ajax is not successful.

First of all you have a php error, array to string conversion when you try to echo your array.

Instead use echo json_encode($array); so you return a json object in your ajax.

I will assume that your variable name is defined somewhere above you don't show us since that would lead to a js error that you would have seen probably.

Also your success function is expecting a parameter :

 success:function(){
         console.log("data");
       }

this code will console.log the string data. If you want the output of your php to be there (which i guess is what you are trying to achieve) you must use:

 success:function(data){
         console.log(data);
       }

Surely this line

success:function(){

should read

success: function(data) {

with the data returned from your PHP code in data.