AJAX POST больше не работает - PullRequest
       15

AJAX POST больше не работает

1 голос
/ 22 февраля 2011

Эта функция прекрасно работала месяц назад, до выхода новейшей версии 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): Неизвестная ошибка.

Тем не менее, после исправления этой ошибки - все равно не пойдет

1 Ответ

3 голосов
/ 22 февраля 2011

Я получил следующую ошибку:

Magic number in GZip header not correct

Я бы проверил, включено ли zlib.output_compression (http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression) и зависит ли вы от веб-сервера)используя, я бы отключил сжатие GZIP там и посмотреть, поможет ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...