javascript - json_encode 和 JSON.parse 错误:SyntaxError: JSON.parse: 在 JSON 数据的第 2 行第 43 列的 JSON 数据后出现意外的非空白字符
问题描述
因此,我一直在尝试使用 json_encode 通过 JSON 将数组从 php 文件发送到脚本,但无论我做什么,我都会收到同样的错误:
SyntaxError: JSON.parse: JSON 数据第 2 行第 43 列的 JSON 数据后出现意外的非空白字符
现在,我使用 jsonlint 来验证通过 json_encode 接收到的 JSON,但它显示为无效。
这是我的 PHP 代码/查询:
<?php
require_once '../../DAO/model.php';
$cd = $_POST['cd'];
$query = "SELECT ID,name FROM user WHERE cost_center = '$cd' order by name";
$results = mysqli_query($conn, $query);
while ($row = mysqli_fetch_assoc($results)){
echo json_encode($row);
}
?>
$("#centro").change(function(){
var id = $("#centro").val();
$.ajax({
url: 'insertManager.php',
method: 'POST',
data:
{'cd': id}
}).done(function(manager){
$('#manager').empty();
console.log(manager);
manager = JSON.parse(manager);
manager.forEach(function(managers){
$('#manager').append('<option value = "' +
managers.id + '">' + managers.name + '</option>')
})
})
});
而且,为了确保这是他正在生成的 JSON 的一部分
{
"ID": "RXA47",
"name": "Abraao Silva Souza"
} {
"ID": "F7R53",
"name": "Adao David Bueno"
} {
"ID": "DP800",
"name": "Adilson Silva"
} {
"ID": "C355P",
"name": "Adolfo Filho"
}
我需要能够遍历这个 JSON,以便我可以附加选项,但它甚至没有做到这一点,因为它给了我 JSON 语法错误,我做错了什么?
解决方案
在代码对象数组中尝试此代码传入一个数组,然后数组传入 json 编码。
<?php
require_once '../../DAO/model.php';$cd = $_POST['cd'];
$array[]=" ";
$query = "SELECT ID,name FROM user WHERE cost_center = '$cd' order by name";
$results = mysqli_query($conn, $query);
while ($row = mysqli_fetch_object($results))
{
$array[]=$row;
}
echo json_encode($array);
?>
推荐阅读
- jenkins - 如何以编程方式将插件添加到詹金斯
- excel - Application.CommandBars("vbaPopup").ShowPopup ··· 如何添加`Submenu` (Ron de Bruin)?
- reactjs - 带有 flex 的 instagram 中的新闻提要只有 8 个孩子?
- ruby-on-rails - 在 Rails 中扩展资源路径
- python - 尝试在 desktop.ini 文件上写入时如何修复 Python 中的 PermissionError?
- python - 在Python中计算两个数字之间不匹配的共享数字
- excel - 如何使高级过滤器将一行数据复制到范围?
- python - 在 Python (Mac) 中使用 OpenCV 裁剪视频
- python - Factorial RecursionError:比较超过最大递归深度
- arrays - 需要一个自定义函数来为显示的每一行重复并最小化 API 调用