我正在使用 echo 将字符串发送回 javascript 函数,但是发送的字符串的长度比 js 函数读取的长度小 1。当我查看萤火虫控制台中的第一个字符时,值为“”。
echo "Success";
我对失败的 ajax 调用返回的数据进行比较:
if (data == "Success")
如果我应用 jQuery $.trim 函数,它会成功。
您的 PHP 文件末尾可能有一个空格。确保文件不以结尾?>
(如果是则删除)。这总是会导致输出中出现额外的空白。
我认为这echo()
不是打印空字符,而是打印返回。改为使用print()
。
为了避免整个问题,我要么使用更多的 RESTful HTTP 状态代码来表示成功和失败(在这种情况下,jQuery 甚至具有特定的 onFailure 和 onSuccess 回调),要么使用 JSON 来编码您返回的值。你可以让 PHP 做echo json_encode(array('status' => 'success'));
,然后在 jQuery 做if(data['status'] == 'success')
。如果您决定稍后返回实际数据,这将使您的代码更具前瞻性。如果您稍后执行,请确保正确设置您的内容类型或告诉 jQuery 期待 JSON。