2016-10-04 64 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日期) };' –

相關問題