Код ниже просто перестал работать, хотя я даже не трогал эту часть файла с тех пор, как он работал в последний раз.
$.post(PATH_PRODUCTS_AJAX_URL, att, function(data) {
if(data.proper)
{
current_step = data.step;
$('#product_container').append('<div class="product_content">' + data.content + '</div>');
$('#product_container .product_content:last').animate({'left' : '-=460px'}, 200, 'swing');
}
else
{
alert('Not proper.');
}
}, 'json');
Мой процесс отладки выглядит следующим образом:
Я проверил URL и входные данные - они оба в порядке. Я использую переменную data.proper , чтобы убедиться, что данные в порядке; если данные не обрабатываются должным образом, я должен получить окно с предупреждением «Неправильно» - но теперь я не получаю. Я также пытался использовать случайное окно предупреждения вне оператора if, но ничего не происходит вообще.
Но если я удаляю параметр JSON, я получаю поле «Не правильно». Я также мог видеть, что выходные данные все в порядке, предупреждая переменную data .
Я проверил включенные файлы, и все они в кодировке UTF-8.
Я действительно понятия не имею, что мне делать дальше. Любая помощь приветствуется.
Редактировать: (пример данных)
products.php:
$return['proper'] = true;
$return['step'] = 1;
$return['content'] = 'Hello';
$json = json_encode($return);
echo $json;
Ответ (обратите внимание, что он возвращается только тогда, когда исключен параметр JSON):
{"proper":true,"step":1,"content":"Hello"}