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