我有一个php脚本,它返回0.28
。然后使用 AJAX 将其提取到HTML中,并插入到span中。问题是,它插入了5个空格和一个换行符。jQuery将其视为一个更改,并在没有更改时用新值更新现有span。空格似乎不是来自php。我尝试过:
- 用trim()和ltrim()来去掉php中的空格
- 删除php退出标记
- 空白折叠:discard;在css中并使用!important标记(未读取此标记,且其上有铬黄警告)
- 使用jquery调整响应
- 使用html注解来削减空间
转储php变量:
string(4) "0.28"
这是我的浏览器返回它的方式
<span id="response1" style="display: inline;">*5spaceshere*
0.28</span>
这是我的剧本
$(function () {
function update() {
$.ajax({
type: "GET",
url: "balancefetch.php",
dataType: "html",
success: function (response) {
var trimmedResponse = $.trim(response)
if (trimmedResponse != $("#response1").html()) {
$("#response1").fadeOut(200, function () {
$("#response1").html(response);
$("#response1").fadeIn();
});
} else {}
}
});
}
setInterval(update, 5000);
update();
});
还有我的html
<div id="balance-div"><!--
--><p class="balance">Balance<span id="response1">Loading...</span></p><!--
--></div>
php语言
$balance = ltrim($balance);
echo $balance;
$balance
保持0.26
2条答案
按热度按时间gfttwv5a1#
因此,经过测试和通过几种方法找到问题所在,找到了问题的根源。
为什么不使用
trim
或RegEx之类的技术来删除空格的主要原因是,因为这将解决当前的问题,但不能解决源代码,所以这将是一个糟糕的解决方案,所以找到源代码很重要。源代码问题在配置文件中,配置文件中有一些空格,将其包含在通过 AJAX 加载的脚本中后,空格也被包含在内。
解决方案:删除配置文件中的空格和/或仅删除
?>
PHP结束标记。有关进一步的调试步骤,请查看问题的注解部分。
ndasle7k2#
使用
ob_clean()
清除具有不需要的换行符的缓冲区