Ajax响应是gzip压缩的 - 原型,Firefox无法处理它

时间:2010-03-05 14:14:26

标签: javascript firefox prototypejs gzip

我正在尝试查询Web服务(使用JavaScript,原型)。服务器用XML响应,但压缩它;标题设置得恰当。

在Safari 4下,一切都很好。响应被解压缩,JavaScript可以处理数据。

在Firefox 3.5.8下,没有数据返回给JavaScript!

代码:

     var req = new Ajax.Request(this.url, {
        asynchronous: false,
        contentType: 'text/xml',
        method: 'post',
        postBody: xmlString,
        onSuccess: function(t) {
            // debug, place response into textarea to show
            $('responseText').value = t.responseText;
        }
    });

这是响应,因为我在网络上跟踪它:

HTTP/1.1 200 OK.
Date: Fri, 05 Mar 2010 14:10:51 GMT.
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny6 with Suhosin-Patch.
X-Powered-By: PHP/5.2.6-1+lenny6.
Vary: Accept-Encoding.
Content-Encoding: gzip.
Content-Length: 2104.
Keep-Alive: timeout=15, max=100.
Connection: Keep-Alive.
Content-Type: text/xml.
.
............]s......W`.3...H&A.$.Q.^[.:....... (and so on ...)

知道为什么会这样吗?我该怎么办呢?

我尝试在请求中设置'Accept-Encoding'标头,无法使其正常工作。此外,响应可能相当大,这意味着:它很好地被服务器压缩。

0 个答案:

没有答案