即使我在我的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'? –