即使我在我的PHP函数的末尾写了die()
,我的ajax调用仍然返回零。 我看了看其他的问题在这里并没有弄明白,请看看我的代码wordpress ajax返回零而不是字符串消息
我使用此功能进行Ajax调用:
$('.aramex-pickup').click(function() {
var button = $(this);
var pickupDateDate = $('.pickup_date').val();
var pickupDateHour = $('.pickup_date_hour').val();
var pickupDateMinute = $('.pickup_date_minute').val();
var pickupDate = pickupDateDate + ' ' + pickupDateHour + ':' + pickupDateMinute;
var orderId = button.data('id');
if (pickupDate) {
//show loader img
button.next('.ajax-loader').show();
var data = {
'action': 'aramex_pickup',
'order_id': orderId,
'pickup_date': encodeURIComponent(pickupDate)
};
$.ajax({
url: ajaxurl,
data: data,
type: 'POST',
success: function(msg) {
console.log(msg);
if (msg === 'done') {
location.reload(true);
} else {
var messages = $.parseJSON(msg);
var ul = $("<ul>");
$.each(messages, function(key, value) {
ul.append("<li>" + value + "</li>");
});
$('.pickup_errors').html(ul);
}
}, complete: function() {
//hide loader img
$('.ajax-loader').hide();
}
});
} else {
alert("Add pickup date");
}
return false;
});
在后端我写了这功能只是为了测试Ajax是工作确定:
add_action('wp_ajax_aramex_pickup', array($this, 'ajax_pickup_callback'));
:
public function ajax_pickup_callback() {
echo 'ajax done';
die();
}
我通过注册的操作
所有这些都返回0而不是“ajax done”。
请帮忙吗?
怎么样简单地注册你的动作:'add_action('wp_ajax_aramex_pickup','ajax_pickup_callback');'? –
我正在使用一个类,我必须使用数组($ this,来注册它 – FDI
你的ajax url是'$$ blabla $$/wp-admin/admin-ajax.php'? –