我运行的是我正在处理的本地服务器,而php echo似乎很吓人。这是错误:
echo "<script>console.log('test');</script>";
产量
<script>console.log('test');</script>;0')</script>
当我查看网页的“页面来源”时。在页面本身中,它显示为0');
,console.log()
似乎正常工作。如果我更改其中一个以删除所有javascript并执行类似
echo "testing";
显示的是:
testing0');</script>
当我写一个新的回声它工作正常,当我尝试制作新的页面,它们也工作正常,当我在safari中查看它(我经常使用chrome)这个问题仍然存在。每次回显脚本时都会出现此问题,但是当回显其他内容时,它会正常运行。只有当我将现有的echo更改为纯文本时,它仍会附加;0')</script>
,当我编写一个写入脚本的新echo时,它可以正常工作。
如果我在任何echo语句之后添加die();
,那个(并且只有那个)缺少;0')</script>
以上所有那些,它仍然在最后。
我为此做了什么?
信息: 我在mac和php版本5.5.36上使用默认的apache安装。随意问我澄清问题,如果需要,我可以在github上发布完整的php文件。
提前致谢,
路易斯
编辑清晰。
答案 0 :(得分:0)
嗯,我觉得很愚蠢,我确实在每次回声之后吐出;0')</script>
,因为我的所有console.log()
成对出现,第二个看起来像这样:
echo "\n<script type=\"text/javascript\">\n console.debug('".' '+gettype($sql_peices)."');\n</script>";
并且那里的加号导致了这个问题,我应该:
echo "\n<script type=\"text/javascript\">\n console.debug('".' '.gettype($sql_peices)."');\n</script>";
有一段时间。我不知道我何时或如何把它放在那里,但现在一切都很完美。