Почему AJAX не передает данные в скрипт?

Коллеги, помогите с затыком.
Есть некий код в index.php:
...
<div>
<?php include ( 'excerpt.php' ); ?>
</div>
...

Есть меню, формируемое программно из таблицы БД. Существенная для темы вопроса его часть:
<ul>
    <li class="line" data-catID="id из БД">Текст 1</li>
    <li class="line" data-catID="id из БД">Текст 2</li>
</ul>

Обработка клика:
$(document).ready(function() {
	$('.line').on('click',function () {
            var inner = this.innerText;
            var catID = this.attributes['data-catID'].value;
	$.ajax({
            type: 'POST',
            url: 'excerpt.php',
            dataType: 'html',
            data: { 'bd_item': inner, 'catID': catID },
            cache: false,
            success: function(data){
            	console.log('success'+'\n'+catID+' => '+inner);
            },
            error:function(data){console.log('error');}
            });
	});
});

Теперь я просто хочу проверить, что приходит в excerpt.php:
if(!empty($_POST)) {
	echo "POST is not empty";
    else {
    	echo "POST is empty";
    }

Результат:
1. В консоли правильно выводится catID и inner;
2. В index.php постоянно выводится "POST is empty".

ПОЧЕМУ и что я делаю не так?
  • Вопрос задан
  • 750 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Vitsliputsli
Вы в index.php ничего post-ом не передаете, соответственно "POST is empty".
Ответ написан
@morricone85
2. В index.php постоянно выводится "POST is empty".


так и должно быть
Ответ написан
Комментировать
irishmann
@irishmann
Научись пользоваться дебаггером
Зачем в index include ( 'excerpt.php' )? При загрузке страницы у вас не передается никакой запрос, ни пост ни гет, поэтому excerpt.php говорит что пост не обнаружен. Он тут вообще не нужен. Он должен принять запрос и ответить. Запрос вы отправляете ajax'ом и им же принимаете, затем выводите так как вам нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы