大量のデータをHTTPハンドラに送信しようとしています。 URLの長さ制限のためにGETを使用して送信できないため、代わりにPOSTすることにしました。問題は、私が値を得ることができないということです。 context.Request.Formには0個の項目があることが示されています。では、HttpHandlerにデータをPOSTできる方法はありますか?ASP.NET HttpHandlerにデータをPOSTする方法は?
答えて
HTTPハンドラに送信するPOSTデータは、クエリ文字形式a=b&c=d
である必要があります。そして、Request["a"]
(b
を返す)などを使用してサーバー側で取得することができます。
Firebugをfirefoxにインストールすると、Ajaxサーバーのやりとりをデバッグするのに非常に役立ちます。どうしたらいいですか?データはどのようになりますか?あなたが提案していることをもう少し説明することができますか?あなたがクエリ文字列を作成してURLに追加すると言っているのであれば、それはURLの長さの制限のために動作しません。 –
私は彼がデータをURLエンコードすることを意味すると思います。アンパサンド(&)で区切られています。要求文字列のように、URLではなく、jQueryが自動的に処理します。 –
いくつかのコードを参照すると、問題を診断するのに役立ちます。このようなことを試しましたか?
のjQueryコード:
$.post('test.ashx',
{key1: 'value1', key2: 'value2'},
function(){alert('Complete!');});
次に、あなたのProcessRequest()
方法では、あなたが行うことができる必要があります:
string key1 = context.Request.Form["key1"];
ます。また、デバッグするのprocessRequest()メソッドでは、要求の種類を確認することができます問題。いくつかの人気のチュートリアルは、あなたが追加することをお勧めラインだ、私は同じ問題を抱えて、そして最終的には「JSON」などのコンテンツタイプを設定することが課題であったことを考え出した
if(context.Request.RequestType == "POST")
{
// Request should have been sent successfully
}
else
{
// Request was sent incorrectly somehow
}
...
contentType: "application/json; charset=utf-8"
$ ajax呼び出しで動作し、ASPx WebServicesでうまく動作しますが、何らかの理由でPOSTを使用しているHttpHandlerではありません。
クエリ文字列の値が正常に機能しているため、キャッチが難しい(ウェブ上に表示される別の手法ですが、それにPOSTを使用するのは意味がありません)。
私も同じ問題がありました。クライアント/ AJAXの問題でした。私はAJAX呼び出し要求ヘッダ "ContentType"を
application/x-www-form-urlencoded
に設定しなければなりませんでした。
同じような問題に直面しています。すべての問題を修正した後、私が逃したもう一つのものがweb.config
- *
またはGET,POST
という動詞に変更されました。その後、すべてうまくいった。
<httpHandlers>
...
<add verb="*" path="test.ashx" type="Handlers.TestHandler"/>
</httpHandlers>
POSTフィールドは、あなたが要求を行うために使用している何
var field = HttpContext.Request.Params["fieldName"];
- 1. ASP.NET内のファイルに全体のPOSTデータをダンプする方法
- 2. 私のasp.netをテストするにはhttphandler
- 3. nsIWebBrowserPersistでデータをPOSTする方法は?
- 4. QNetworkAcccessManagerでUnicodeデータをPOSTする方法
- 5. Rack :: TestでデータをPOSTする方法
- 6. ASP.NET MVC - POSTデータを検証するActionFilterAttribute
- 7. GETではなくAsanaにデータをPOSTする方法は?
- 8. asp.netのHttphandlerとHttpmodule
- 9. asp.netでpostメソッドで送信するデータの値を取得する方法
- 10. Asp.NetのすべてのサブフォルダにHttpHandlerを登録するには?
- 11. ASP.NETのCrossPage Postからデータを取得するには?
- 12. httphandlerのcontext.responseにトレース出力を追加する方法は?
- 13. POSTでASP.NET MVCをリダイレクトする方法は?
- 14. IIS 7,7.5のASP.NETカスタムHttpHandler
- 15. asp.netカスタムHttpHandlerとURLルーティング
- 16. データをリモートサーバにPOSTして結果を表示する方法
- 17. ASP.NET MVC2:POST後にGET Details/5にリダイレクトする方法
- 18. ASP.NETのhttpHandlerパスに関するルールは何ですか?
- 19. テキストエリアから大量のPOSTデータを処理する方法は?
- 20. Javaでhttp POSTデータをデコードする方法は?
- 21. FirebugでフォームPOSTデータを取得する方法は?
- 22. POSTデータを再送せずにページをリフレッシュする(ASP.NET)
- 23. asp.netの$ .postメソッドでダイナミックコントロールを取得/渡す方法は?
- 24. ASP.NET HttpHandlerがタイムアウトしますか
- 25. ASP.Net gridviewにXMLデータを表示する方法は?
- 26. asp.net/jQuery.ajax POSTからURLパラメータを取得する方法
- 27. C#ASP.NET MVC:フォームコレクションを再POSTする簡単な方法/サンプル?
- 28. ASP.NETはログインリダイレクトを使用してPOSTデータを保持します
- 29. HTTPsにPOSTする方法は?
- 30. PHP:Windowsタスクスケジューラを使用してPOSTデータを送信する方法
を使用することができ、それらを取得するには
に含まれていますか? HttpWebRequest? –
私はJqueryを使用してAjaxコールを作成しています –
リクエスト側で何をしているのかのコードサンプルを提供できますか? – Deeksy