2015-06-17 17 views
5

Używam $ http.get ("url"), aby uzyskać zawartość obecną w "url". Html w 'url' jest następującaPobieranie zawartości html z adresu URL podanego w AngularJS

<html> 
<head></head> 
<body> 
    <pre style = "word-wrap: break-word; white-space: pre-wrap;"> 
     <!-- content is present here --> 
    </pre> 
</body> 
</html> 

Kiedy robię $ http.get do tego adresu URL, mam pewne dane i wymaganą treść

GET /TYPE=abvd HTTP 1.1 
content required 

.0.1234.123 Safari /123.12 
Referer: //url of the webpage calling this function 
Accept-Encoding: 
............... 

Jak mogę pozbyć się tego dodatkowe informacje i otrzymują tylko treść? (Wiem, że możemy po prostu przeanalizować odpowiedź, ale czy jest lepszy sposób na zrobienie tego?)

EDYTOWANIE: Otrzymałem odpowiedź danych w Google Chrome, gdy uruchamiam ten sam skrypt w IE10, otrzymuję tylko "zawartość html" zgodnie z życzeniem. Dlaczego ta różnica występuje i jak mogę ją przetworzyć?

+2

są to nagłówki odpowiedzi, które przyjdą z wszystkich żądań HTTP można ... zmodyfikuj odpowiedź serwera, aby je zmienić ... ale są one nieszkodliwe i naprawdę nie musisz się nimi martwić –

+0

i może nie być w stanie zmodyfikować odpowiedzi serwera. – clearScreen

Odpowiedz

3

$http.get zwraca HttpPromise i od niego można uzyskać dane bazowe tak:

$http.get('url').then(function(response) { 
    html = response.data; 
}); 

Aby uzyskać jeszcze więcej użytecznych danych, można rozszerzyć to tak:

$http.get('url').then(
    // success handler 
    function(response) { 
     var data = response.data, 
      status = response.status, 
      header = response.header, 
      config = response.config; 
    }, 
    // error handler 
    function(response) { 
     var data = response.data, 
      status = response.status, 
      header = response.header, 
      config = response.config; 
    }); 

Demo:JSBin

Edytuj: Jeśli nadal istnieją problemy HTML, można spojrzeć na $sce.trustAsHtml(html) lub PhantomJS odniesieniami:

+0

kiedy wypisuję response.data na konsoli, otrzymuję "undefined" – clearScreen

+0

Co powiesz na 'console.log (response.status) ;? – Drakes

+0

Demo z wyjściami console.log do ekranu: http://jsbin.com/memeva/1/embed?js,console,output – Drakes

Powiązane problemy