Как правильно распечатать данные на веб-странице с помощью json_encode? - PullRequest
0 голосов
/ 20 января 2019

У меня есть кнопка на моей wepbage, которая будет отображать данные из БД, используя ajax, поэтому страница не должна обновляться. Когда я нажимаю кнопку и просматриваю источник и перехожу на вкладку «Моя сеть», данные отображаются правильно, как и должно быть, но на странице ничего не отображается. Вот мой соответствующий getItem.php. Вот мой php код:

mysqli_select_db($con,"items");
$sql="SELECT * FROM items";
$result = mysqli_query($con,$sql);

while($row = mysqli_fetch_assoc($result))
    $rows[] = array_map('utf8_encode', $row);

echo json_encode($rows);
//echo json_last_error();

и кнопка click Функция jQuery:

$(document).ready(function () {
$('#button1').click(function (e) {
    e.preventDefault();
    $.ajax({
        type: "GET",
        url: "getItem.php",
        dataType: "html",
        success: function (msg) {
            if (msg.success) {
                $("#responsecontainer").html(msg);
            } else {
                alert("error");

        }
        });
    });
});

1 Ответ

0 голосов
/ 20 января 2019

С помощью оператора if вы проверяете, истинно ли msg.success, но вы сообщаете ajax-вызову, что возвращаемое dataType должно быть в виде html, поэтому он сравнивает неопределенные значения на основе предоставленного вами кода, я думаюто, что вы скорее ищете, это что-то вроде этого.

$.ajax({
        type: "GET",
        url: "getItem.php",
        dataType: "html",
        success: function (msg) {
            $("#responsecontainer").html(msg);
        },
        error: function () {
            alert("error");
        }
    });
});

Тем не менее, если вы хотите что-то сделать с данными из функции успеха, вам нужно будет разобрать их или изменитьdataType: "html", до dataType: "json",.

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