我以前似乎遇到过这个问题,不同的伪装。当一个文件被“包含”在我的主php文件中,然后在同一主php文件中启动一个会话时,我会得到“已发送的标题”错误,因为我的包含的php在开始时有一个空白行,这是正在以某种方式发送之前应该发送任何东西。删除空行,“问题解决”...... 现在我有这个ajax的东西,我扫描一个PHP返回的某个字符串。我在这个PHP中硬编码以返回到ajax回调的字符串是字符串“alert”,这是从未见过的。我扫描回调收到的内容,然后猜猜是什么?它有一个字符10开始我的5个字符“警告”字符串。
听起来很熟悉?是的,我在“echo(”alert“)之前有一个include;”,并且包含了文件DID以空行开头(也是!为什么我一直这样做?)。删除行,现在我不再得到字符10(ascii“new line”嗯?),再次启动我的“alert”字符串。
问题:为什么php回应一个“新线”字符,从未与我精心制作的字符串一起正式“回应”?这是我或PHP的错误吗?提前谢谢。
答案 0 :(得分:1)
<?php ... ?>
标记内的所有内容都被视为文本并发送给客户端。因此,请确保源文件中没有空行...
编辑:这样做的目的是让一个简单的方法将HTML文件与部分PHP代码混合在一起,而无需显式回显所有HTML内容......