Ответ Ajax нулевой на PHP правильно обработанных данных - PullRequest
0 голосов
/ 05 июля 2018

У меня есть форма, которая выполняет POST-вызов php-файла на сервере; запрос обрабатывается правильно, но когда я пытаюсь его обработать, он отображается как нулевое значение. Вот мой фрагмент php:

<?php
header('Access-Control-Allow-Origin: *');

require_once 'access.php';

//connection to db
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if (mysqli_connect_errno()) { //verify connection
    echo "Error to connect to DBMS: ".mysqli_connect_error(); //notify error
    exit(); //do nothing else
}

//Take user team request
$teamchoice = $_POST['team'];

//retrieving all people of that team
$query = "SELECT * FROM pokecods WHERE team = '$teamchoice'";
$result = $mysqli->query($query);


if ($result->num_rows > 0) 
    echo json_encode($result);
else
    echo 'Oops, something went wrong';

$result->close();
$mysqli->close();
?>

Запрос выполняется правильно, потому что в результате у меня есть объект json (есть только один объект, который соответствует запросу в БД), но когда я пытаюсь обработать этот объект, я получаю такой результат: результат

вот мой код jQuery:

    $.post(post_url, post_data)
        .done( function(response) {
var json = JSON.parse(response);        
    console.log(json);
})
        .fail( function() {
            alert("The AJAX request failed!");
        });

что мне нужно сделать, чтобы правильно обрабатывать мой объект?

1 Ответ

0 голосов
/ 05 июля 2018

Вы забыли получить результат после выполнения запроса. Получить результаты, используя fetch_all , а затем перейти к json_encode.

Обновленный код:

if ($result->num_rows > 0) {
    $records = $result->fetch_all(MYSQLI_ASSOC);
    echo json_encode($records);
} else {
    echo 'Oops, something went wrong';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...