【问题标题】:JS adds a zero at the endJS在最后加一个零
【发布时间】:2016-07-24 13:50:27
【问题描述】:

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

jQuery(this).html(data);

返回数据的PHP函数包含:

echo 'Please do this again.';
return;

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

请再做一次。0

所以它在末尾添加了一个0。为什么会发生这种情况,我可以做些什么来解决它?

【问题讨论】:

标签: javascript php jquery ajax wordpress


【解决方案1】:

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

使用return;,您可以生成额外的输出,然后将其解释为0

Eighter 删除 return; 或将其替换为 exit; 以阻止 php 执行。

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

【讨论】:

    【解决方案2】:

    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 附加到您的响应中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-05
      • 2017-03-17
      • 2018-07-01
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      相关资源
      最近更新 更多