私は現在、ユーザーが一連のオプションを選択し、[送信]をクリックすると、送信を処理するページで一連のカンマ区切りファイルが作成され、それらが圧縮されてクライアントに返送されるプロジェクトに取り組んでいます。
一部を除いて、私はこれのほとんどがうまく機能しています。ユーザーが一連のオプションを選択し、フォーム送信を介してすべてのファイル作成を処理するASPページを呼び出すページ。ユーザーが送信を押すと、進行状況バーが表示され、ページが機能していることがわかります。
私が遭遇している問題はResponse.Redirect
、スクリプトの最後にを置くと、ファイルがブラウザに送信されないことです。スクリプトの最後にaを付けないResponse.Redirect
と、呼び出し元のページは再読み込みされず、そのまま機能しているように表示されます。
jQueryとAJAXでこれを試してみましたが、どちらも機能しません。
いくつかのコード...
基準選択ページ
<form method="post" action="../../scripts/generate-presentation-data.asp" onsubmit="return submitform();">
...form items...
</form>
<script>
function submitform()
{
if ( confirm('Generate presentation data?') )
{ return true; }
else { return false; }
}
</script>
そして呼び出されたページ:
Response.Buffer = True
...create files, zip them up etc...
Response.AddHeader "Content-Disposition", "attachment;filename=" & Chr(34) & "board-presentation-data.zip" & Chr(34)
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile(sFilePath & "board-presentation-data.zip")
Response.BinaryWrite(objStream.Read)
この最後にリダイレクトを設定すると、ファイルがブラウザに送信されることはありません。
このようなものを適切に機能させる方法はありますか?
ありがとう。