javascript - 意外的 JSON 行为
问题描述
我正在构建一个 WordPress 插件。PHP 脚本发送 JSON,javascript 接收它。有时,js 会收到一个空的 JSON,即使我确定它应该接收数据。如果我放一个空的 echo (echo ' ';)
,它可以解决我的问题并正确接收数据。收件人:
jQuery.ajax({
url: url + "get_bookings.php",
method: "POST",
data: {
week: t,
year: e
}
}).done(function(w) {
w = JSON.parse(w);
fetchTableData(w)
})
发件人:
echo ' ';
.
. // Code here.
echo json_encode( $query );
我找不到为什么会这样。有时它可以在没有空的情况下正常工作echo
。
编辑:感谢您的回答,exit
没有帮助。我检查了网络面板,它请求 get_bookings.php 两次。我在 URL 的末尾放了一个斜杠,效果很好。
url: url + "get_bookings.php/",
解决方案
首先,删除这一行:
echo ' ';
我建议首先通过测试以下结果值来调试 PHP 脚本$query
:
print_r($query);
如果该值间歇性地导致为空字符串,请确保对此进行测试并在必要时返回空 JSON 对象。
if (empty($query)) {
$query = (Object)[];
}
echo json_encode($query);
推荐阅读
- python - 如何创建嵌套字典键并从命名空间键值对列表中为其分配值?
- php - 从 HTML 表单中插入一行或多行
- batch-file - 检查文件是否存在,然后将数字附加到名称
- jquery - 当用户单击单选按钮时,隐藏所有其他选项并使标签放大和动画?
- xml - 来自示例 XML 的 XSD
- quanteda - dfm(Quanteda)中“remove_twitter”的新方法是什么?
- javascript - 未捕获的 TypeError:无法将 undefined 或 null 转换为对象 React JS
- ios - 可扩展的 UICollectionView 单元格
- mongodb - SORT 在聚合函数中不起作用
- lua - 为什么我的 RemoteFunction 没有在 PlayerAdded 事件中触发