2013-08-22 6 views
5

ja ściągam trochę JSON z kanciasty jak:Czy możesz spakować zawartość żądania otrzymania w Angular?

$http({ 
    url: 'https://www.somemachine.com/getdata', 
    method: "GET", 
    params: {} 
}).success(function(data, status, headers, config) { 
    console.log(data); 
} 

dane to odbieranie jest dość duży, a ja jestem szczęśliwy gzip źródło, ale czy jest jakiś sposób aby gunzip kiedy moja metoda pobiera go $http ?

Odpowiedz

5

Zakładając, że źródło jest już spakowany, musimy się upewnić, nagłówek Accept-Encoding jest ustawiona na gzip na życzenie:

$http.get('https://www.somemachine.com/getdata', { headers: { 'Accept-Encoding': 'gzip' } } 
).success(function(data, status, headers, config) { 
    console.log(data); 
}); 

Przeglądarka automatycznie rozpakuj go, gdy widzi Content-Encoding = nagłówku gzip na odpowiedź.

+0

Pierwsze zdanie nie ma sensu. Dlaczego klient powiedziałby "chcę, aby był spakowany", gdy serwer i tak go zipuje? – zeroflagL

+4

@zeroflagL Serwer powinien rozpakować tylko wtedy, gdy klient mówi "Mogę zaakceptować spakowane dane" – richard