jQuery ajax总是返回0
问题描述:
我的jquery ajax响应总是返回0.请帮助我在哪里做错了。在stackoverflow的所有其他答案已经过测试,但它没有奏效。 这里是我的代码jQuery ajax总是返回0
jQuery.ajax({
type: "POST",
url: woocommerce_params.ajax_url, //this give the correct url which is http://redhawk-studio.com/demos/rizwan/enrolment/wp-admin/admin-ajax.php
data: {
action: "my_test_action",
status_discount: status_discount1
},
success: function (data) {
alert(data);
}
});
这里是我的PHP代码
if($_POST['action'] == 'my_test_action'){ echo 'kkkkk'; exit; }
答
出于安全原因,在WordPress,任何Ajax调用的处理函数必须终止执行PHP。如果没有,php执行终止由WordPress和输出结果被替换为0
。
为了使其按预期工作,所有你需要做的是在你的处理函数的最后补充一点:
wp_die();
对于更详细的解释,以及在使用Ajax的原则/准则WordPress,阅读ajax in plugins。
实际上你的php返回了什么?看看你的浏览器开发工具 –
返回0 – user3376865
'0'在你所显示的代码中是无处可见的,它不会输出或返回任何计数器值或类似的东西。 Ergo:_That_代码是_not_“返回0”。 – CBroe