2012-01-11 9 views
2

この質問は、私が尋ねた別の質問からの続きです - Passing client data to server to create Excel or CSV FilejQueryポストを使って.ashxからファイルを取得する

JSONオブジェクトを構築してサーバーに送信するクライアントページがあり、そのJSONオブジェクトをSQLコマンドに解析して必要なデータセットのデータセットにするサーバーコードがあります。

私はもともとJSONオブジェクトを.asmx Webサービスに渡していました。このサービスは自分のデータを含むJSONオブジェクトを返します。今私は別の方向に進み、データを.csvファイルとして戻したいと考えています。

JSONオブジェクトをクエリ文字列に配置し、.ashxページを呼び出そうとしていますが、JSONオブジェクトが大きくなり、POSTのRequest.Formを使用しようとしています。

jQueryを使用して.ashxページに投稿し、.csvファイルをクライアントに返す方法は、私の質問と理解の欠如です。 .ashxページに直接移動して(渡されたデータをハードコードするためにページを変更する)、.csvファイルが問題なく返されます(つまり、ファイルを開く/保存するプロンプトが表示されます)。 jQueryから.ashxファイルへのPOSTを行い、JSONオブジェクトを送信すると、.csvを取得するのではなく、文字列にデータを含む応答が返されます。

私は行方不明のものがあるのですか、それともできないことを達成しようとしていますか?

JSONオブジェクトをデータベースに格納してIDを返す.asmx Webサービスに渡した後、window.locationを使用してIDを持つ.ashxを参照してくださいクエリ文字列パラメータを使用して.csvファイルを生成することができますが、その中間ステップを回避してPOSTで行う方法があると思いました。

申し訳ありませんが、これはちょっと散歩していて、ばらばらです。私は誰にも意味をなさない可能性のある部品については、喜んで説明します。

+0

だけ考えたが、あなたのJavaScriptでは、あなたがターゲット= 'に現在のフォームを変更した場合どのような '_ blank''その後、.submit()'を呼び出す ''その後、ターゲット=を削除する' _ blank''フォームからのコード(通常のポストバックが正しく機能するように) .ashxページに投稿されたデータを受け取る新しいウィンドウが表示されます。 – Prescott

答えて

関連する問題