这是一个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;
这是返回数据的.php文件
$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;
任何人都可以帮助我吗?
答案 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输出:
$('#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;