jquery - 提取 JSON 数据时控制台中出现未定义错误
问题描述
jQuery代码:
function showData(){
$.ajax({
url:"retrieve.php",
method:"GET",
datatype: "json",
success: function(data){
// console.log(data);
if(data){
x = data;
}else {
x = "";
}
// console.log(x);
for(i = 0; i < x.length; i++){
console.log(x[i].name);
}
},
});
}
showData();
但在控制台中,我得到:1180 未定义。可能的原因是什么:
现场链接在这里
如果需要,我准备提供任何额外的信息。
另外,这是retrieve.php→</p>
include 'dbConnection.php';
$sql = "SELECT * FROM students";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$data = array();
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
}
// Returning JSON Format
echo json_encode($data);
解决方案
您需要使用 JSON.parse(data) 将数据解析回 javascript 中的 json。您需要这样做,因为您使用 json_encode 在 php 中将 json 编码为 json-string,因此在 javascript 端需要 JSON.pare() 以将其从 json-string 解析回对象表示法。
推荐阅读
- html - How can I add HTML code with notepad without installing an IDE
- react-native - 如何在类组件中使用 React Navigation useNavigation Hook?
- python - a TypeError: Required argument 'object' (pos 1) not found
- javascript - Show tooltip when hover on top left 2 px square of div JavaScript jQuery
- ssis - Destination table should have only today's data
- html - 在笔划宽度上添加内框阴影
- python - 使用服务器和客户端证书发送 xml 请求并在 python 中接收 xml 响应
- julia - Julia Matrix{AbstractFloat} 类型问题
- html - 如何将元素的高度设置为另一个元素的计算高度?
- sql-server - SSIS - 如何将日期时间变量传递给存储过程