我正在开发一个基于 Wordpress WooCommerce 的商店。 我使用ajax来调用数据。但我通过 wp-admin/admin-ajax.php 在 function.php 文件中使用我自己的函数来完成此操作。
昨天我在 woocommerce 类 WC_AJAX 中找到了。我的问题是如何从该类启用事件,以及如何从 js 调用它们。
PHP - 不要像常规 WP ajax 操作那样包裹在
if(is_admin())
中。 WC ajax在前端:
add_action('wc_ajax_myaction','myaction');
function myaction(){
exit("Hello. some_var=".$_POST['some_var']);
}
JS - 要加载的 URL 是 https://example.com/?wc-ajax=myaction 可以使用标准 XMLHttpRequest 或 jQuery:
进行调用var data={
some_var:'some value'
}
jQuery.post('/?wc-ajax=myaction',data)
.done(function(result){
console.log('ajax request completed. result=',result);
})
.fail(function(){
console.log('ajax request failed. check network log.');
});