php - json之前的Ajax响应返回和空行和html注释标记
问题描述
我正在发送一个 ajax 请求并期望得到一个 json 响应。但在我的回复中,我有一个空行和 html 注释标签 ( <!-- -->
)。如何删除这个不需要的空行和字符?
PS:当我在线托管网站时会发生这种情况。
$.ajax({
url: "edit_row.php",
method: "post",
data: {id:id},
success: function(data){
alert(data);
}
});
php:
<?php
$id = $_POST['id'];
$data = array();
-----
sql query
------
while($query = mysqli_fetch_assoc($sql)){
$data[] = $query;
}
print json_encode($data);
>?
我期望输出是这样的:
[{"id":"1", "asd":"dsa",...}]
但我得到:
<!-- -->[{"id":"1", "asd":"dsa",...}]
解决方案
我不确定您的问题是什么,但重要的是始终将您的php/code
脚本包装在try 和 catch 语句中以获取 php 错误和警告(如果有的话),例如
<?php
try {
$id = $_POST['id'];
$data = array();
-----
sql query
------
while($query = mysqli_fetch_assoc($sql)){
$data[] = $query;
}
print_r(json_encode($data));
}
catch(Exception $e) {
echo 'Message: ' .$e->getMessage();
}
?>
我也将你的 php 结束标记从 更改>?
为?>
虽然我不确定这是否导致了问题。还更改print
为print_r,这对于数组和对象的可读性更好。
推荐阅读
- mysql - Error.MysqlData.MysqlClient.MysqlExecption
- java - NoClassDefFoundError 即使 Jar 存在于类路径中
- infinispan - Infinispan 集群错误:MarshallableUserObject 编组器未在 SerializationContext 中覆盖
- python-3.x - 动态更新虚拟环境
- nuget-package - msbuild 与 p:RunOctoPack 缺少文件
- html - 图像不缩放
- pandas - 从 PDF 中读取表格并将其转换为 Pandas Dataframe
- webpack - 当 index.html 位于不同文件夹时 webpack-dev-server 路径 publicpath 配置
- google-sheets - 谷歌表:从单元格中传递值/数据作为谷歌脚本函数中的参数
- vagrant - Vagrant - 为 KVM / QUEMU 提供程序启用 GUI