我正在使用jQuery来发出ajax请求。数据很好地进入PHP,但响应没有正确回到javascript。不知何故,在回应之前有一个空间。我知道这是因为Firebug这么说而且我的代码不起作用,因为空间就在那里。当我希望有一个空间时,它工作正常。关于什么可以添加空间的任何想法?
这是我的ajax功能:
function my_ajax (aurl, adata, aretfunc) {
$.ajax({
type: "POST",
url: aurl,
data: adata,
success: function(msg) {
eval(aretfunc+'(msg);');
}
});
}
答案 0 :(得分:18)
查找PHP文件中<?php ?>
标记之外的虚假空白字符。执行PHP脚本时,任何此类空格都将得到输出。如果您的PHP文件包含其他PHP文件,那么同样的事情也适用于这些文件。
答案 1 :(得分:5)
同意,寻找<?php ?>
之外的虚假空白字符。一个建议,一个完全合法的建议是简单地删除尾随?>
,因为它们是不必要的。 In fact, it's a coding standard for Drupal.
答案 2 :(得分:4)
在某些情况下,我发现在做任何事情之前通过$ .trim()运行响应可以很好地工作。
当然,上述解决方案仍然非常适用,但如果您处于无法改变的情况,我认为值得抛弃。