我使用echo将字符串发送回javascript函数,但是发送的字符串长度比js函数读取的长度少1。当我查看firebug控制台中的第一个字符时,值为“”。
echo "Success";
我对失败的ajax调用返回的数据进行了比较:
if (data == "Success")
如果我应用jQuery $ .trim函数,它会成功。
答案 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。