Ajax传递空值

Alright so the problem is that this ajax is passing empty username for some reason, or maybe I am doing something wrong.

JS File

$(document).ready(function() {

    $("#register").click(function() {

        var username = $("#name").val();
        var pst = $("#pass").val();

        $.ajax({
            url: "test.php",
            data: {"function":"register",name:username, pass:pst},
            type: "POST",
            success: function(response) {
                switch(response){ 
                    case true: {
                        alert("Hello world!");
                        break;
                    }
                    case false: {
                        alert("");
                        break;
                    }
                    default: {
                        alert("Something went wrong");
                        break;
                    }
                }
            }
        });
    });

});

The test.php file

<?php
    if(isset($_POST['function'])) {
        switch($_POST['function']) {
            case "register": {
                register($_POST['name'],$_POST['pass']);
                echo $_POST['name'];
                break;
            }
            case "login": {
                login();
                break;
            }
            default: {
                echo "Boom";
                break;
            }
        }
    }
    else {
        echo "Function is not set";
    }


    function register($name, $pass) {
        if($name == "Toma") return true;
        else return false;
    }

    function login() {
        echo "<br/><br/>Test passed";
    }
?>

Now I am always going to get "Something went wrong" alert eventho I entered the "Toma" as username

In your PHP file echo $_POST['name'] is the response to your request regardless of register function return. if you wanna display a true or false you have to refactor your code this way:

  case "register": {
    echo register($_POST['name'],$_POST['pass']);
    break;
  }

Figurated it out, I just used

if($name == "Toma") { echo("true"); }
            else { echo("false"); }

Since it seems whatever I do, string will be returned instead of a boolean