在我的jQuery ajax函数中,我输出从PHP脚本返回的数据,如下所示:
jQuery(this).html(data);
返回数据的PHP函数包含:
echo 'Please do this again.';
return;
由于某种原因,它输出为:
请再次这样做。
所以最后添加0
。为什么会发生这种情况,我该怎么做才能解决它?
答案 0 :(得分:2)
快速回答(我稍后会解释):
使用return;
生成额外输出,将其解释为0
。
Eighter删除return;
或用exit;
替换它以阻止php执行。
如果您不在职能范围内,其他可能性是return 'Please do this again.';
。
答案 1 :(得分:1)
你应该在你的ajax动作处理程序中die
,如下所示:
echo 'Please do this again.';
// Don't return, die!
// return;
die;
您的代码执行完全符合预期。问题是你正在使用WordPress并且没有停止在你的动作处理函数中执行。
WordPress通过wp-admin/admin-ajax.php
处理ajax调用,last lines将生成输出0
:
// Default status
die( '0' );
在您的操作处理函数中,您应该自己调用die
以确保永远不会到达此文件的末尾,并且0
不会附加到您的回复中。