Эта функция прекрасно работала месяц назад, до выхода новейшей версии JQuery (1.5). Я также обновил до PHP 5.3 --- Это единственное, что изменилось с тех пор, и теперь код не работает.
Я сомневаюсь, что новый PHP вообще повлияет на POST javascript, и я использую локальную копию 1.4.2 JQuery, поэтому я не вижу, как выход 1.5 влияет на меня.
Страница находится здесь: [ссылка удалена]
Пользовательская функция формы, которую я использую, это form_post ... которая находится здесь:
$.extend({
form_post : function(url, form, callback) {
var serialized_form_data = $(form).serialize();
$('#sub-navigation-content > *').slideUp('fast');
$('#content-container').hide('fast');
$.ajax({
async: true,
type: 'POST',
url: url,
data:serialized_form_data,
success: function(response) {
var contents = $(response).find('#content-container > *');
$("#content-container").html(contents);
$("#content-container").show('normal');
var sub_nav = $(response).find('#sub-navigation-content > *');
$(response).filter('script[src=""]').each(function(){
sub_nav.push(this);
});
$("#sub-navigation-content").html(sub_nav)
$('#sub-navigation-content > *').hide();
$("#sub-navigation-content > *").css("visibility", "hidden").delay(500).slideDown("slow").delay(0).css("visibility", "visible");
if(typeof callback == 'function'){
callback.call(this, response);
}
}
});
}
});
Используя встроенную в Chrome сеть / отладчик, я вижу, что сервер возвращается, так как ресурс не загружен, запрос отправляется с правильными заголовками и URL, но ничего не возвращается. Более странно то, что я использовал анализатор HTTP, и я могу перехватить HTTP POST, и я вижу, что ответа нет, но если я имитирую запрос и отправляю его через программу, все проходит идеально с теми же заголовками , Данные POST, URL и т. Д.
Почему это ломается?
Edit:
Глядя на мои ошибки PHP, я вижу, что это МОЖЕТ быть связано с PHP 5.3:
Предупреждение PHP: неверный аргумент указан для foreach () в /var/www/xxxx/shared/catalog_process.php в строке 25
... лол. Я начинаю сожалеть о переходе на PHP 5.3. Он даже не дает мне ошибку в браузере, он просто говорит:
Веб-страница на
[ссылка удалена]
может быть временно недоступен или может
навсегда переехали в новую сеть
адрес. Ошибка 330
(Нетто :: ERR_CONTENT_DECODING_FAILED):
Неизвестная ошибка.
Тем не менее, после исправления этой ошибки - все равно не пойдет