Я установил основной пример ajax для wordpress в моей теме wp. Триггер выполняется с помощью modernizr.js, проверяющего медиа-запросы на странице.Почему мой запрос ajax получает ответ 0?
jQuery(document).ready(function($) {
if(Modernizr.mq('only all and (max-width:6300px)')) {
var data = {
action: 'my_action',
whatever: ajax_object.we_value // We pass php values differently!
};
// We can also pass the url value separately from ajaxurl for front end AJAX implementations
jQuery.post(ajax_object.ajax_url, data, function(data) {
$("#trending-Container").html(data).fadeIn(1000);
});
}
});//end function
У меня есть локализованные и enqueue'd мои скрипты.
wp_enqueue_script('mainJS', get_template_directory_uri() . '/js/mainJS.js', array("jquery"));
wp_localize_script('mainJS', 'ajax_object',
array('ajax_url' => admin_url('admin-ajax.php'), 'we_value' => 1234));
и, наконец, функция, которая обрабатывает запрос является:
add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
function my_action_callback() {
global $wpdb;
$whatever = intval($_POST['whatever']);
$whatever += 10;
echo $whatever;
die();
}
Это постоянно дает мне ответ от 0 (без свойств), и я не знаю, почему. P.S Это все локально.
Status code 200
Host:lart.co.uk
Origin:http://lart.co.uk
Referer:http://lart.co.uk/
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/28.0.1500.71 Chrome/28.0.1500.71 Safari/537.36
X-Requested-With:XMLHttpRequest
Form Dataview sourceview URL encoded
action:my_action
whatever:1234
Можете ли вы проверить 'exit (intval ($ _POST ['whatever']));'? –
@ RecoveringSince2003 Вы имеете в виду вместо die()? Я пробовал и все еще ничего. – UzumakiDev
Попробуйте 'print_r ($ _ POST); die();' чтобы убедиться, что '$ _POST' не пуст, содержит значение. –