2016-11-29 10 views
-2

мой ответ jquery ajax всегда возвращает 0. Пожалуйста, помогите мне, где я делаю неправильно. Все остальные ответы в stackoverflow были протестированы, но это не сработало. Вот мой кодjQuery ajax всегда возвращает 0

jQuery.ajax({ 
    type: "POST", 
    url: woocommerce_params.ajax_url,  //this give the correct url which is http://redhawk-studio.com/demos/rizwan/enrolment/wp-admin/admin-ajax.php 
    data: { 
    action: "my_test_action", 
    status_discount: status_discount1 
    }, 

    success: function (data) { 

     alert(data); 

    } 
}); 

и вот мой PHP код

if($_POST['action'] == 'my_test_action'){ echo 'kkkkk'; exit; } 
+1

Что на самом деле возвращает ваш php? Посмотрите на инструменты разработчика вашего браузера –

+0

его возвращение 0 – user3376865

+0

'0' не видно в коде, который вы указали, и он не выводит и не возвращает какое-либо значение счетчика или что-то в этом роде. Ergo: _That_ код _not_ "return 0". – CBroe

ответ

0

По соображениям безопасности, в WordPress, функция обработчика любого АЯКС вызова должен прекратить выполнение PHP. Если это не так, выполнение php в любом случае прекращается с помощью WordPress, а результат вывода заменяется на 0.

Чтобы заставить его работать, как и ожидалось, все, что вам нужно сделать, это добавить это в конце вашей функции обработчика:

wp_die(); 

Для более подробного объяснения, а также принципы/руководящие принципы для использования Ajax в WordPress, читайте ajax in plugins.

Смежные вопросы