0

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

echo "Success";

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

if (data == "Success")

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

4

2 回答 2

0

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

于 2012-07-07T23:41:40.307 回答
0

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

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

于 2012-07-07T23:46:17.390 回答