2013-03-11 10 views
6

Come posso utilizzare il servizio angularjs $http per inviare una richiesta al server e trasmettere il risultato a una nuova finestra del browser?Angularjs: come eseguire lo streaming della risposta http a una nuova finestra?

Il mio servizio genera e trasmette un rapporto pdf che vorrei aprire in una nuova finestra del browser. Finora ho utilizzato $http per inviare richieste che restituivano dati JSON. Potrei usare questo per aggiornare il modello. Funziona bene Ma ora non voglio estrarre i dati dalla risposta, basta mostrarli in un'altra finestra. Forse dovrei usare un servizio di livello inferiore piuttosto che lo schema di scambio di dati che ho usato?

$http(httpPostConfig).success(
    function(data, status, headers, config) { 
     ... 
    } 
).error(

    function(data, status, headers, config) { 
     ... 
    } 
); 
+4

Il server restituisce un identificatore univoco del PDF generato e utilizza il servizio JS (tramite $ window) per aprire una nuova finestra con il suo url che punta a un endpoint sul lato server che restituisce PDf in base all'identificatore univoco (ad es. window.open ('/ pdf/6.234.556') '). – Stewie

+0

@Stewie Grazie. Se non riesco a capire come farlo in un modo angolare, quindi userò un lavoro in giro come questo. – Glenn

+0

La cosa è, la tua idea non è possibile implementare il modo in cui l'hai immaginata. Non esiste un modo Angular o JS per farlo. Dal suono della tua idea mi sembra che ti stai avvicinando a questo da una visione del mondo basata su Java. Correggimi se sbaglio. ;-) – Stewie

risposta

5

che il server restituisce un identificatore univoco del PDF generato e di servizio finestra $ uso per aprire una nuova finestra con la sua URL che punta a un endpoint sul lato server che restituisce PDF basati su identificatore univoco (ad esempio $window.open('/pdf/6234556')) ;

+1

qualche consiglio su come creare l'endpoint "dinamico" lato server? –

Problemi correlati