如何防止echo将null字符附加到输出字符串?

时间:2012-07-07 23:40:51

标签: php echo

我使用echo将字符串发送回javascript函数,但是发送的字符串长度比js函数读取的长度少1。当我查看firebug控制台中的第一个字符时,值为“”。

echo "Success";

我对失败的ajax调用返回的数据进行了比较:

if (data == "Success")

如果我应用jQuery $ .trim函数,它会成功。

2 个答案:

答案 0 :(得分:0)

您的PHP文件末尾可能有空格。确保文件不以?>结尾(如果有,则删除)。这总是有问题的,导致输出中有额外的空格。

答案 1 :(得分:0)

我认为echo()不打印空字符,而是打印返回。请改用print()

为了避免这个问题,我会使用更多RESTful HTTP状态代码来表示成功和失败(在这种情况下jQuery甚至具有特定的onFailure和onSuccess回调)或使用JSON来编码您要返回的值。您可以让PHP执行echo json_encode(array('status' => 'success'));然后在jQuery执行if(data['status'] == 'success')。如果您决定稍后返回实际数据,这将使您的代码更加面向未来。如果你这样做,请确保正确设置内容类型或告诉jQuery期望JSON。