JavaScriptを使ってPOSTした結果を別ウィンドウに表示させよう
通常のUIではありえないのですが、そういう要求があったので。
実際にはJQueryを使っちゃってますけど、使わなくても同じことはできるハズ・・・。
つか、HTML で form 作ってやる分には割りと簡単みたいなんですよね。formタグに target="_blank" つけるだけ! みたいな。試してないけど。
で、これをJSからやるわけですよ。というわけで、頑張ってみました。
肝は先にウィンドウを名前付き(上の例では nw)で open しておいて、form の target に開いたウィンドウを指定することと、フォームを body に append してから submit する事かな。
別の方法としては POST は Ajax(XMLHttpRequest) で非同期にしておいて、結果を開いたウィンドウに書き込むって手もあるのですが、ブラウザのアドレスバーが about:blank のままになってしまってユーザーに親切じゃないから、こちらはあまりやりたくない感じ。
とはいえ、参考にソースは残しておこうかな。
Enjoy!