使用jQuery $.post请求后,返回内容莫名多出4个空格问题求助
解决$.post请求返回内容多出空格的问题
嘿,我之前也碰到过一模一样的问题,刚好能给你捋捋这个多余空格的由来和修复思路!
问题根源分析
你拿到的suces后面带4个空格,本质是PHP文件输出了额外的空白字符。PHP会把<?php标签之外的所有内容(包括空格、换行、空行)直接输出到响应里,哪怕是标签前后的一点点空白,都会被当成响应内容的一部分返回给前端。
结合你的代码来看,大概率是这两种情况:
saveInfos.php文件的<?php标签前面有空格/换行- 文件末尾的
?>标签后面跟着空格/换行(甚至?>本身都可能是多余的)
具体修复步骤
1. 清理PHP文件的首尾空白
打开saveInfos.php,做这两个操作:
- 确保
<?php是文件的第一个字符,前面没有任何空格、换行或者其他字符 - 直接删掉文件末尾的
?>标签(PHP脚本完全可以不写闭合标签,反而能避免后续的空白输出)
修改后的PHP代码示例:
<?php $request = "INSERT INTO `table` VALUES (...,...,...)"; if ($pdo->exec($request)) { echo 'succes'; } else{ echo 'error'; }
2. 前端兜底处理(可选)
如果担心后端偶尔还是会出现意外空白,可以在前端接收数据时用trim()方法过滤首尾空白,确保逻辑不受影响:
var posting = $.post( 'saveInfos.php', list, function(data){ var cleanData = data.trim(); // 过滤首尾空白 $('#test').html(cleanData); getModal(cleanData,false); });
额外提醒
以后写PHP接口时,尽量养成不写?>闭合标签的习惯,从根源上避免这类空白输出问题~
内容的提问来源于stack exchange,提问作者mam8
相关产品推荐
相关产品推荐

