Я хочу реализовать небольшую функцию автоматического поиска для личных сообщений.Я не могу найти причину, по которой приведенный ниже код не работает.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>
По какой-то причине при поиске отправляемого запросаответ только ниже: 

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