AJAX POST不再有效

时间:2011-02-21 22:22:31

标签: php javascript jquery ajax post

在最新的JQuery(1.5)发布之前,这个功能在一个月前运行良好。我也升级到了PHP 5.3 ---这是自那时以来唯一发生变化的事情,现在代码已经破了。

我怀疑新PHP会对javascript POST产生影响,而且我使用的是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等

为什么会这样?

编辑:

看看我的PHP错误,我发现它可能与PHP 5.3有关:

PHP警告:第25行的/var/www/xxxx/shared/catalog_process.php中为foreach()提供的参数无效

...哈哈。我开始后悔切换到PHP 5.3。它甚至没有在浏览器中给我错误,只是说:

  

网页   [已删除链接]   可能暂时失败或可能   已永久移动到新网站   地址。错误330   (网:: ERR_CONTENT_DECODING_FAILED):   未知错误。

然而,在修好错误后 - 仍然没有去

1 个答案:

答案 0 :(得分:3)

我收到以下错误:

Magic number in GZip header not correct

我会检查zlib.output_compression是否打开(http://www.php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression),并且根据您使用的是哪个Web服务器,我会在那里关闭gzip压缩,看看是否有帮助。