Автопоиск JS (jquery) не извлекает данные MySQL - PullRequest
0 голосов
/ 15 октября 2018

Я хочу реализовать небольшую функцию автоматического поиска для личных сообщений.Я не могу найти причину, по которой приведенный ниже код не работает.JS Ajax каждый раз заканчивается в узле .fail, несмотря на то, что в БД есть пользователь, например, начинающийся с «m».

js:

    $($userSearchForm).on('keyup', function () {

    var $query = $('#userSearch').val();

    $
        .ajax({
            url: '../../../rest/restEndPoints/Privatemessage.php',
            type: 'POST',
            data: $query
        })
        .done(function (response) {

            console.log(response);

        })
        .fail(function (error) {
            console.log('Username not found', error);
        });

});

Privatemessage.php Конечная точка REST:

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST["userSearchForm"])) {

    $query = $_POST["userSearch"];
    $queryResult = Privatemessage::searchByUsername($conn, $query);
    $response = ['success' => $queryResult];
}

class Privatemessage

    static public function searchByUsername(PDO $pdo, $userName) {
        $stmt = $pdo->prepare("SELECT u.username FROM Users u WHERE userName LIKE CONCAT('%',:userName,'%')");
        $result = $stmt->execute([
            'userName' => $userName
        ]);

        $ret = [];

        if ($result === true && $stmt->rowCount() > 0) {
            while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

                $loadedUsername = new Privatemessage($pdo);
                $loadedUsername->userName = $row['username'];

                $ret[] = $loadedUsername;
            }
            return $ret;
        }
        return null;
    }

HTML на подстранице privateMessage.php:

            <form class="form-user-search" id="userSearchForm" action="" method="post">
                <div class="form-group">
                    <label for="userSearch">Find user</label>
                    <input name="userSearch" id="userSearch" class="form-control" placeholder="Find user" autofocus>
                    <input name="newPrvMessage" id="newPrvMessage" class="form-control" placeholder="Type in message" autofocus>
                    <div id="userSearch" style="display:none;"></div>
                    <button class="btn btn-default btn-block" type="submit" id="userSearchButton">Submit new private message</button>
                </div>
            </form>

По какой-то причине при поиске отправляемого запросаответ только ниже: enter image description here

enter image description here

Несмотря на то, что класс «не найден», подстраница по-прежнему правильно выводит сообщениякоторые были отправлены / получены ( rest.php файл включает в себя .php классы / конечные точки динамически, в зависимости от подстраницы, которую вы вводите через панель навигации) enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...