2016-10-04 65 views
0

即使我在我的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”。

请帮忙吗?

+0

怎么样简单地注册你的动作:'add_action('wp_ajax_aramex_pickup','ajax_pickup_callback');'? –

+0

我正在使用一个类,我必须使用数组($ this,来注册它 – FDI

+0

你的ajax url是'$$ blabla $$/wp-admin/admin-ajax.php'? –

回答

-1

其实你的钩子没有得到执行。您必须通过ajax请求传递动作,您可以看到here

jQuery.post(
ajaxurl, 
{ 
    'action': 'add_foobar', 
    'data': 'foobarid' 
}, 
function(response){ 
    alert('The server responded: ' + response); 
} 

);

+0

这正是他所做的^^ –

+0

你能告诉我他究竟在哪里添加了动作吗?在你降级答案前请考虑一下,请让我看看这个动作的名字。 ...... @Steeve Pitis – SPViradiya

+0

'var data = { 'action':'aramex_pickup', 'order_id':orderId, 'pickup日期':encodeURIComponent(pickup日期) };' –

相关问题