- PR -

非同期通信によるPOSTデータの受け取り方法

1
投稿者投稿内容
あれなにそれなに
会議室デビュー日: 2007/03/23
投稿数: 4
お住まい・勤務地: 東京都港区麻布
投稿日時: 2007-03-23 10:49
 Ajaxで非同期通信を行いたいのですがVB.NET側でのリクエストデータの受取り方法が
わかりません。

 GETの場合は普通にRequest.QueryString("key")で受取れますが
POSTした場合はどのように受取るのかわかりません。
初的なことですみませんが、ご教授ください。

 環境:IIS6.0.0、ASP.NET2.0

burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2007-03-23 11:23
サーバー側では
Request.Form
で取得できるようですね。
あれなにそれなに
会議室デビュー日: 2007/03/23
投稿数: 4
お住まい・勤務地: 東京都港区麻布
投稿日時: 2007-03-23 11:53
ご返答ありがとうございます。

 Request.FormまたはRequest.Form("key")は既に試したのですがnullのようです。

 MSDNライブラリで調べたところ、
 「Form プロパティは、HTTP 要求の Content-Type 値が
  "application/x-www-form-urlencoded" または "multipart/form-data" のいずれか  の場合に設定されます。」
 とあり、

 Ajaxで送信しているRequestをieHTTPHeaderというソフトで表示させると
 Content-Type: が送信されていないようなので、Request.Formは使えないのかと
 思っていました。

 実際、どうなんでしょうか?
 それとも他にReguestの中のPOSTデータのみ読み出す方法がありますでしょうか。

よろしくお願いいたします。




burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2007-03-23 12:02
私の試したコードでは以下のようにContent-Typeを明示的に指定しました。

コード:
xmlhttp.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");
xmlhttp.send(postdata);

あれなにそれなに
会議室デビュー日: 2007/03/23
投稿数: 4
お住まい・勤務地: 東京都港区麻布
投稿日時: 2007-03-23 12:23
私のスクリプトでもContent-Typeを明示的に指定したら、
Request.Formに格納されるようになりました。

 xmlhttp.setRequestHeader というのは知りませんでした。
もっと勉強したいと思います。

burton999さん、大変ありがとうございました!!
1

スキルアップ/キャリアアップ(JOB@IT)