Ajax响应之前的空间(jQuery,PHP)

时间:2009-06-22 22:53:36

标签: php jquery ajax

我正在使用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);');
  }
 });
}

3 个答案:

答案 0 :(得分:18)

查找PHP文件中<?php ?>标记之外的虚假空白字符。执行PHP脚本时,任何此类空格都将得到输出。如果您的PHP文件包含其他PHP文件,那么同样的事情也适用于这些文件。

答案 1 :(得分:5)

同意,寻找<?php ?>之外的虚假空白字符。一个建议,一个完全合法的建议是简单地删除尾随?>,因为它们是不必要的。 In fact, it's a coding standard for Drupal.

答案 2 :(得分:4)

在某些情况下,我发现在做任何事情之前通过$ .trim()运行响应可以很好地工作。

当然,上述解决方案仍然非常适用,但如果您处于无法改变的情况,我认为值得抛弃。