/ 許容されるURI長を超える/ Ajax呼び出し - .net、asp.net、jquery、ajax、asp.net-mvc-2

受け入れ可能なURI長を超えるAjax呼び出し - .net、asp.net、jquery、ajax、asp.net-mvc-2

私はASPを持っています。NET MVCの設定、そして私はreportgeneratorを構築しています。私はJQueryテーブルを出力しているので、ユーザーはPDFとして取得する前にそれをソートして並べ替えることができます。私のPDFコンポーネントは.NETベースであるため、AJAXを介して変更したテーブルをサーバーに送り返す必要があります。

問題は、URIが最大と同じくらい大きくなる可能性があることです。サーバーに414のステータス(Request-URI Too Long)で応答させる、100k文字。 IISでは、数千文字を超えるURIは許可されていないようです。

それほど大きいURLを作成するのは奇妙に思えることを認めているので、何かが足りない可能性があると思います。データをサーバーに送信する別の方法はありますか、それとも別の方法でこれを解決することが可能ですか?

回答:

回答№1は5

数百文字を超えるデータを送信するための推奨される方法は、GETの代わりにHTTP POSTを使用することです。 GETはすべてのデータをキーと値のペアとしてURIに追加します(例: ?foo=bar&baz=blah一方、POSTはデータを要求に入れます。体。リクエスト全体の長さにも制限がありますが、それはURIに課される制限よりはるかに大きいです。 jQuery側では、GETからPOSTへの切り替えは簡単です - 詳細はjQuery.ajax()のドキュメントを読んでください。 サーバー側では、パラメータがGETではなくPOSTから読み込まれるように変更する必要があるかもしれませんが、ほとんどの場合、これも比較的簡単です。


回答№2については2

あなたの質問の鍵は 役職。必要がある POST サーバーに戻ります。

API jQueryのAJAXポストメソッド。

$.post(url, [data], [success(data, textStatus, XMLHttpRequest)], [dataType]);