php - JSON编码无输出
问题描述
我试图寻找不同的方法来让这个 json 正确输出,但我不确定我是否访问了 php/或成功函数 value.pTitle 中的正确变量,以及如何获得对其他值的访问权限例如 artTitle 我在某个地方失败了,不知道在哪里或为什么。UPDATE修复了添加的 php 文件和数组 $data[]。
这是我的 php 代码。
$sqlPAQuery = "SELECT pTitle, GROUP_CONCAT(artTitle) AS
artTitle
FROM p
JOIN art ON art.pId = p.pId
GROUP BY pTitle";
if ($result=mysqli_query($conn,$sqlPAQuery))
{
$data = [];
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
{
$data[] = $row;
}
echo json_encode($data);
}
这是行的 php 编码的结果:
[{"pTitle":"ent","artTitle":"11,12"},{"pTitle":"pro","artTitle":"10"}, {"pTitle":"sports","artTitle":"1,13"}]
这是html代码:
<h3>Output: </h3>
<div id="output"></div>
<script id="source" language="javascript" type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: 'Data.php',
data: "",
dataType: 'json',
success: function(data)
{
$.each(data, function(index, value) {
var pageTitle = value.pTitle; //get name
$('#output').append("<b>pageTitle: </b>"+pageTitle+"<br/>");
}
});
});
输出应该是:
页面标题: ent
页面标题:亲
页面标题:运动
修复了 PHP 文件的工作原理
解决方案
如果你想像这样处理 json,这就是你需要做的:
if ($result=mysqli_query($conn,$sqlPAQuery)) {
$data = [];
while ($row=mysqli_fetch_array($result,MYSQLI_ASSOC))
{
$data[] = $row;
}
echo json_encode($data);
}
推荐阅读
- java - 我可以使用spring boot和MySQL设置过期时间吗?
- html - 如何检查html中的空字符串
- r - 在 R 中“分隔”一列的更简洁的选项(可能通过一些正则表达式)?
- asp.net - asp.net core 版本 5 样板正在生产中
- python - n维数组元素的Python组合
- logging - 如何在 Jupyterlab 中登录到日志控制台?
- php - 使用 Bash 并调用 php 命令遍历目录和子目录中的所有文件
- firebase - 当我以这种方式通过本机反应将日期存储在firebase中时,它不会保存,只有购物车项目和总金额仅保存在firebase中
- javascript - 如何在没有项目/坐标重复的情况下选择 2D 矩阵的 N 个随机元素的 col/row 或 x/y 坐标?
- sql-server - DDL 触发器防止丢包