0
  1. クライアント (XMLHttpRequest によるリクエスト) -> サーバー。
  2. サーバー [CSV を作成し、応答の出力ストリームに出力] -> クライアント。

ステップ 3 は次のようになります -> クライアントのブラウザは、ダウンロード ダイアログ (保存、開く、キャンセル) を表示する必要があります。コンテンツ タイプはサーバーからのプレーン テキストであり、コンテンツの性質が設定されていないため、javascript を使用してファイルを作成し、ユーザーにダウンロードを促すことはできますか?

私はこの質問が少しばかげていることを知っています. しかし、他に選択肢はありません。私はこのようにしなければなりません。

サーバー側のスクリプトを変更すると、1 分間のタスクになります。しかし、私はクライアント側でそれをしなければなりません。XMLHttpRequest オブジェクトの responseText プロパティはプレーン テキストになり、テキスト ファイルのダウンロード プロンプトを表示する必要があります。

これは可能ですか?

4

2 に答える 2

1

理論的には、データURIを使用することで可能になる可能性があります

<a download = "yourfile.csv" href="data:application/octet-stream;charset=YOURCHARSET;base64,BASE64allthedata">Generate</a>
于 2012-11-09T03:47:16.697 に答える
1

私が知っているわけではありません。ただし、location.href(POST データが必要な場合はフォームを使用して) サーバー側のファイルを要求することもできます。正しいヘッダー (Content-Disposition: attachment別のヘッダーがあると思います) を使用すると、応答を表示するのではなく、ダウンロードすることができます。

編集:さらに良いことに、iframe非表示の an を使用します。そうすれば、メイン ページで「読み込み中です。しばらくお待ちください」という派手な操作を行うことができます。

于 2012-11-09T03:38:34.647 に答える