タグ

2011年11月15日のブックマーク (2件)

  • jQueryの非同期通信関数$.ajaxを使用して、サーバ側でのファイルの作成とダウンロードを行う - 日常メモ

    やりたいことは、左図のようなこと。クライアントからリクエストを送り、サーバ側でダウンロードするファイルを作成(すでにある場合は加工)してクライアントへ返す(ダウンロード)といったこと。 同期通信の場合、クライアントからsubmitボタンを使用して、サーバ側の処理を呼び出し、ダウンロードするファイルをレスポンスデータとしてクライアントへ返すといった、いわゆる普通のダウンロード処理を実装すればよい。ただし、同期通信の場合、レスポンスが返却されるまで、クライアント側の処理が止まってしまう。それを回避すべく、非同期通信でファイルダウンロードを実施しようと考えた。 そこで、jQueryの$.ajax関数を使用して非同期通信によってサーバ側の処理を呼び出してやれば、クライアント側の処理は非同期で継続させられると考えた。しかし、それでは、サーバからクライアントへレスポンスが返却されても、ブラウザがダウン

    volonte
    volonte 2011/11/15
  • Ajaxでファイルのダウンロード: Ma note

    明けましておめでとうございます。 新年早々はまったことが、Ajaxでファイルのダウンロードすることだった。 発端はjQuery File Treeを利用したことだ。 すごく便利なのだが、リンクをクリックしたときに専用のfunctionがコールされるだけなのだ。 その引数にファイルパスが一応渡ってはくるのだが、 単にlocation.hrefの指定をするだけでは、ブラウザで開かれてしまうし、拡張子によっては開けないのもある。 今回は単純にブラウザに処理させてファイル保存ダイアログを表示させたかった。 他にも試行錯誤したが、javascriptベースでは良い方法が見つからなかった。 そこでDWRを使っていたこともあり、サーブレットでダウンロードしようと試みた。 そこでまた問題発生。 Ajax経由の呼び出しだけではファイルのダウンロードが困難なことが分かった。 困り果てていると、以下のサイトを見

    volonte
    volonte 2011/11/15