You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress Ajax插件执行GET请求后输出内容额外附带‘0’的问题排查求助

解决WordPress AJAX响应额外输出“0”的问题

这个问题我太熟悉了!你遇到的额外输出“0”是WordPress AJAX处理的典型小坑,原因其实很好定位:

在WordPress的AJAX回调函数中,如果你只通过echo输出内容但没有主动终止脚本,WordPress会在请求结束时自动输出一个0——这是它内置的AJAX请求结束标记。你的代码里的aj_ajax_demo_process函数正好犯了这个错:只输出了"test",但没有终止脚本流程,导致默认的0被追加到了响应里。

直接修复方法

只需要在你的回调函数最后加上wp_die()(或者die()/exit(),效果完全一致)即可,修改后的PHP代码如下:

function aj_ajax_demo_process() {
    echo "test";
    wp_die(); // 关键:终止WordPress的AJAX处理流程,避免额外输出
}

额外排查建议

  • 检查原始响应内容:打开浏览器开发者工具的「Network」标签,找到你的AJAX请求,查看响应体的原始文本,确认这个0是不是确实来自脚本未终止的默认输出
  • 排查其他输出源:如果加了wp_die()还是有额外内容,那就要检查有没有其他插件或主题的钩子在这个AJAX请求之后附加了输出(不过这种情况比较少见)
  • 养成编码习惯:以后写WordPress AJAX回调函数时,记得在输出内容后一定要加上wp_die(),这是官方推荐的标准写法,能避免很多类似的奇怪输出问题

内容的提问来源于stack exchange,提问作者Jamie Warren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 15:52:42