Wordpress ajax返回0而不是字符串消息
wordpress ajax returning zero instead of string message
我的ajax调用返回零,即使我写了die()
在我的PHP函数的末尾。我看了这里的其他问题,没有弄清楚,请看看我的代码
我使用这个函数进行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是否正常工作:
public function ajax_pickup_callback() {
echo 'ajax done';
die();
}
我注册了这个动作:
add_action('wp_ajax_aramex_pickup', array($this, 'ajax_pickup_callback'));
所有这些都返回0而不是"ajax done"。
请帮忙好吗?
实际上你的钩子没有被执行。您必须在ajax请求中传递操作,如图所示。
jQuery.post(
ajaxurl,
{
'action': 'add_foobar',
'data': 'foobarid'
},
function(response){
alert('The server responded: ' + response);
}
);
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- js中的本地化字符串消息
- 抛出消息;TypeError:第一个参数必须是字符串或Buffer
- 如何从视频标记错误事件中获取字符串/消息或代码
- 捕获多行错误消息中的两个字符串
- 仅当收到 Ajax 请求的字符串消息时,才滚动到底部
- 消息:未终止的字符串常量
- 如何放置 PHP 字符串 jQuery 验证错误消息
- 调用 Jquery 对话框并传递消息字符串
- 检查字符串是否只包含数字,否则显示消息
- PHP 包含未终止的字符串文字消息
- 从SeleniumIDE中的字符串中提取4位数字-错误消息
- 我如何用Javascript从JSON字符串中获得内部异常消息
- Wordpress ajax返回0而不是字符串消息
- javascript中的Concat字符串将消息作为NAN
- 未终止字符串文字错误消息
- 我怎么能传递字符串到onclick消息
- WebRTC正在发送字符串消息
- 在asp.net c#消息框中显示字符串