Я пытаюсь запросить веб-сервис (с 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» в запросе, не могу заставить его работать должным образом. Кроме того, ответ может быть довольно большим, то есть хорошо, что он сжимается сервером.