JS最后增加了零

时间:2016-07-24 13:50:28

标签: javascript php jquery ajax wordpress

在我的jQuery ajax函数中,我输出从PHP脚本返回的数据,如下所示:

jQuery(this).html(data);

返回数据的PHP函数包含:

echo 'Please do this again.';
return;

由于某种原因,它输出为:

  

请再次这样做。

所以最后添加0。为什么会发生这种情况,我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:2)

快速回答(我稍后会解释):

使用return;生成额外输出,将其解释为0

Eighter删除return;或用exit;替换它以阻止php执行。

如果您不在职能范围内,其他可能性是return 'Please do this again.';

答案 1 :(得分:1)

TL;博士

你应该在你的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不会附加到您的回复中。

相关问题