我有几个JS函数用$ .ajax jquery方法调用不同的php文件...昨天一切都很好,但在清理完我的代码后,我不知道我做了什么,但现在ajax响应就像"[space]data"
代替"data"
..
我可以在Js中使用修剪功能,但我想修复问题的根源......
为了避免这种情况,我所有的php文件都丢失了?>
,在<?php
之前我确定,只是选中了,没有空格......
我怎么来介绍这个错误?是服务器?浏览器?
有趣的是昨天我用JSLINT清理了我的代码..!坏主意..
感谢
答案 0 :(得分:20)
当我遇到同样的问题时,它只是在关闭PHP标签后的回车或空格,这是一个非常容易引入的简单事情。
确保在脚本第一行的开头打开PHP标记,最后关闭它并删除关闭标记后的所有内容(应该很容易在好的编辑器中找到)。
我看不出没有理由不关闭你的PHP标签不会真的很烦人..但那只是我!
答案 1 :(得分:9)
我知道我已经迟到了这个帖子,发现它是因为我有同样的问题。我能够确认虽然您可以清除回调函数中的所有间距,但仍然可以在响应文本中获得这些空格/回车(您甚至可以在“网络”下的chrome开发人员工具中看到这一点标签)。
所以我测试了一下,发现如果你将ob_clean();
放在回调函数的顶部,那么它会清除这些空格中的任何一个。我不太了解这个函数只是在codex(http://codex.wordpress.org/AJAX_in_Plugins#Debugging)中提到它。希望能帮助那些因为同样的问题而在这里找到方法的人
答案 2 :(得分:0)
如果来自服务器的响应包含额外空间,那么php代码就是原因。如果您的回复不包含额外空间,则问题必须是javascript。
使用Fiddler检查服务器的实际响应,看它是否确实有空间。然后,您将确定问题是否与PHP或JS有关。然后你可以发布相关的代码。