我正在使用 php 脚本生成 json 数组。 json 数组由 jquery ajax 脚本检索,然后尝试读取它并将其嵌入到 html 表中。但是,我陷入困境,因为它不断在表中生成“未定义”数据。我想在ajax返回成功后在我的表中显示json数组的信息。请帮忙...
JSON 数组格式
[{"fullname":"Frank Robsinga","gender":"Male","email":"n\/a","phone":"n\/a","status":"1"}]
JavaScript
<script>
$("#lookup").click(function() {
var key = $("#search").val();
$.ajax({
type : 'POST',
url : 'scripts/search-user-script.php',
data : {
key : key
},
success : function(obj) {
$("#usersdata").html("");
for (var i = 0; i < obj.length; i++) {
var tr = "<tr>";
var td0 = "<td>" + (i + 1) + "</td>";
var td1 = "<td>" + obj[i]["fullname"] + "</td>";
var td2 = "<td>" + obj[i]["gender"] + "</td>";
var td3 = "<td>" + obj[i]["email"] + "</td>";
var td4 = "<td>" + obj[i]["phone"] + "</td>";
var td5 = "<td>" + obj[i]["status"] + "</td></tr>";
$("#usersdata").append(tr + td0 + td1 + td2 + td3 + td4 + td5);
}
}
});
// .ajax
});
</script>
最佳答案
您的 ajax 调用返回一个字符串。使用前需要将其解析为Object
。
在 for
循环之前尝试 obj = JSON.parse(obj)
。
喜欢:
function(obj) {
obj = JSON.parse(obj); // Add this line
$("#usersdata").html("");
for (var i = 0; i < obj.length; i++) {
var tr = "<tr>";
var td0 = "<td>" + (i + 1) + "</td>";
var td1 = "<td>" + obj[i]["fullname"] + "</td>";
var td2 = "<td>" + obj[i]["gender"] + "</td>";
var td3 = "<td>" + obj[i]["email"] + "</td>";
var td4 = "<td>" + obj[i]["phone"] + "</td>";
var td5 = "<td>" + obj[i]["status"] + "</td></tr>";
$("#usersdata").append(tr + td0 + td1 + td2 + td3 + td4 + td5);
}
}
关于javascript - 无法在html表格中显示json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37136562/