【发布时间】:2019-09-16 10:38:50
【问题描述】:
我正在尝试使用 AJAX 更新我的结帐购物车的发货...
我已经在functions.php中找到了动作
function jwd_update_shipping()
{
WC()->cart->calculate_shipping();
echo "hi";
die();
}
add_action('jwd_update_shipping_callback', 'jwd_update_shipping');
然后在js中我这样称呼它,像这样
jQuery.ajax({
type: "POST",
url: 'MYSITE.com/wp-admin/admin-ajax.php',
data: ({
action: "jwd_update_shipping"
}),
success: function(response) {
console.log("got this: " + response);
if (response.type == "success") {
alert("here");
jQuery('body').trigger('update_checkout');
} else {
alert("fail");
}
},
error: function(request, status, error) {
alert(request.responseText);
}
});
我刚刚收到一个 0 警报,这表明 AJAX 调用失败。
【问题讨论】:
-
在计算运费之前放一个回声,它实际上是否进入了 jwd_update_shipping .. 也可以在 ajax 中为动作数据尝试括号 ()
-
您的 add_action() 错误。请阅读文档 - codex.wordpress.org/AJAX_in_Plugins
标签: php jquery ajax woocommerce checkout