如何使用json_encode将数据正确打印到网页上?

时间:2019-01-20 19:09:11

标签: javascript jquery json ajax

我在webbage上有一个按钮,它将使用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 :(得分:0)

使用if语句,您正在检查msg.success是否为真,但是您告诉ajax调用返回的dataType应该为html格式,以便根据代码比较未定义的值您提供了我认为您想要的是这样的东西。

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

不过,如果您想对成功函数中的数据进行处理,则需要parse it或将dataType: "html",更改为dataType: "json",