Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript wordpress ajax返回零而不是字符串消息_Javascript_Php_Jquery_Ajax_Wordpress - Fatal编程技术网

Javascript wordpress ajax返回零而不是字符串消息

Javascript wordpress ajax返回零而不是字符串消息,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我的ajax调用返回零,即使我在PHP函数的末尾编写了die()。 我在这里查看了其他问题,没有弄明白,请看一下我的代码 我使用以下函数进行ajax调用: $('.aramex-pickup').click(function() { var button = $(this); var pickupDateDate = $('.pickup_date').val(); var pickupDateHour = $('.pickup_date_hour').val();

我的ajax调用返回零,即使我在PHP函数的末尾编写了
die()
。 我在这里查看了其他问题,没有弄明白,请看一下我的代码

我使用以下函数进行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;
});
我通过以下方式登记了行动:

add_action('wp_ajax_aramex_pickup', array($this, 'ajax_pickup_callback'));
所有这些都返回0,而不是“ajaxdone”


有什么帮助吗?

实际上你的钩子没有被执行。正如您所看到的,您必须在ajax请求中传递操作


))

只需通过以下方式注册您的操作:
add_操作('wp_ajax_aramex_picku','ajax_picku_callback')?我在使用一个类,我必须使用数组($this,注册它您的ajax url是
$$blabla$$/wp admin/admin ajax.php
?是的,ajax url是正确的,请尝试为nopriv添加一个操作。
添加操作('wp_ajax_nopriv_aramex_pick',array('this,'ajax_picku picku aramex_callback'));添加操作('wp_ajax_aramex_picku array($this,'ajax_pickup_callback');
你能告诉我他在哪里添加了动作吗?????在你降级答案之前先想一想。请告诉我这个动作的名字是hook……@Steeve Pitis
var data={'action':'aramex_-picku','order_-id':orderId',picku-date':encodeURIComponent(pickupDate)};
add_action('wp_ajax_aramex_pickup', array($this, 'ajax_pickup_callback'));
jQuery.post(
ajaxurl, 
{
    'action': 'add_foobar',
    'data':   'foobarid'
}, 
function(response){
    alert('The server responded: ' + response);
}