2013-03-11 7 views
6

anglejs $httpサービスを使用してサーバーにリクエストを送信し、結果を新しいブラウザウィンドウにストリーミングするにはどうすればよいですか?Angularjs:新しいウィンドウにHTTP応答をストリーミングする方法は?

私のサービスは、新しいブラウザウィンドウで開くレポートを生成してストリームバックします。これまで私は$httpを使ってjsonデータを返す要求を投稿してきました。これを使ってモデルを更新することができます。それはうまく動作します。しかし、私は応答からデータを抽出したくないので、別のウィンドウに表示するだけです。おそらく、私が使用していたデータ交換パターンではなく、より低レベルのサービスを使用しているはずですか?

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

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

あなたのサーバに生成されたPDFの一意の識別子が返され、JS($ window経由)サービスを使用して、新しいウィンドウが開かれます。そのURLは、一意の識別子に基づいてPDfを返すサーバ側のエンドポイントを指しますwindow.open( '/ pdf/6234556') ')。 – Stewie

+0

@Stewieありがとう。どのように角度をつけて行うのか分からなければ、私はこのような仕事をします。 – Glenn

+0

事は、あなたが想像していた方法を実装することはできません。 AngularやJSのやり方はありません。あなたのアイデアの響きによって、あなたはJavaベースの世界観からこのアプローチに近づいているように思えます。私が間違っているなら私を訂正してください。 ;-) – Stewie

答えて

5

サーバーは、それが一意の識別子に基づいてPDFファイルを返すサーバー側のエンドポイント(例えば$window.open('/pdf/6234556'))を指すURLですと、新しいウィンドウを開くために生成されたPDFのユニークな識別子を返し、使用$ウィンドウのサービスよりも持っています;

+1

「動的」サーバー側エンドポイントの作成方法に関するアドバイスはありますか? –

関連する問題