如何在模态中将ajax数据插入表中

时间:2017-10-05 02:31:27

标签: javascript php jquery ajax

这是一个ajax代码,它接收json中的数据并创建一个包含数据的表。但是我收到了这个错误:

parsererror



$('#loadddx').click(function(e) {
    e.preventDefault();
    $.ajax({
        url: $(this).attr('href'), // Example: ajax.php?id=
        dataType: 'json',
        success: function(resp) {
            var trHTML = '';
            $.each(resp, function(i, userData) {
                for (i = 0; i < resp.userData.length; i++) {
                    trHTML +=
                        '<tr><td>' +
                        resp.userData[i].pais +
                        '</td><td>' +
                        resp.userData[i].data +
                        '</td><td>' +
                        resp.userData[i].origem +
                        '</td><td>' +
                        resp.userData[i].ip +
                        '</td><td>' +
                        resp.userData[i].isp +
                        '</td><td>' +
                        resp.userData[i].browser +
                        '</td><td>' +
                        resp.userData[i].os +
                        resp.userData[i].newid +
                        '</td></tr>';
                }
            });
            $('#result').append(trHTML);

            console.log(resp);
            $("#showDataa").modal("show");

        },
        error: function(xhr, status) {
            console.log(status);
        }
    });
});
&#13;
&#13;
&#13;

这是返回数据的.php文件

&#13;
&#13;
$res = [];
while ($stmt - > fetch()) {
$res[] = array("success" => true, "pais" => $pais, "data" => $data, "origem" => $origem, "ip" => $ip, "isp" => $isp, "browser" => $browser, "os" => $os, "newid" => $newid);
echo json_encode($res);
}
&#13;
&#13;
&#13;

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

尝试按如下方式更新PHP:

$stmt->fetch();
echo json_encode(array("success" => true, "pais" => $pais, "data" => $data, "origem" => $origem, "ip" => $ip, "isp" => $isp, "browser" => $browser, "os" => $os, "newid" => $newid));

不确定while循环的用途是什么?如果循环中的值是每次迭代$stmt->fetch()更新的全局变量,并且您需要多次迭代,请尝试以下操作:

$res = [];
while($stmt->fetch()) $res[] = array("success" => true, "pais" => $pais, "data" => $data, "origem" => $origem, "ip" => $ip, "isp" => $isp, "browser" => $browser, "os" => $os, "newid" => $newid);
echo json_encode($res);

更新

按照以下方式更新您的JS,假设您使用了我给您的第一个PHP示例。不确定附加表行的方式是最好的,但这应该可以解决您的问题。如果它没有提供resp的console.log输出:

&#13;
&#13;
$('#loadddx').click(function(e) {
    e.preventDefault();
    $.ajax({
        url: $(this).attr('href'), // Example: ajax.php?id=
        dataType: 'json',
        success: function(resp) {
           console.log(resp);
           
           $('#result').append(
             '<tr><td>' +
             resp.pais +
             '</td><td>' +
             resp.data +
             '</td><td>' +
             resp.origem +
             '</td><td>' +
             resp.ip +
             '</td><td>' +
             resp.isp +
             '</td><td>' +
             resp.browser +
             '</td><td>' +
             resp.os +
             resp.newid +
             '</td></tr>';
           }

           $("#showDataa").modal("show");
        },
        error: function(xhr, status) {
            console.log(status);
        }
    });
});
&#13;
&#13;
&#13;