aspxでAjaxする際、GETだとサーバ側でrequestの内容が受け取りができるのですが、POSTだとできません。


↓クライアント側Javascript
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
var postdata = "TEST=123";
xmlHttp.open("POST", "../server_cs.aspx",true);
xmlHttp.send(postdata);

↓サーバ側server_cs.aspx(C#)
<script runat="server">
void Page_Load(Object sender, EventArgs e) {
string a = Request.QueryString["TEST"];
}
</script>

string a に値が入りません。(Request.QueryString["TEST"]はnullになっている)
どこに問題がありますでしょうか?(POSTが前提、他のアドインは考慮しない)

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/11/09 18:17:16
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:llusall No.1

回答回数505ベストアンサー獲得回数61

ポイント30pt

POSTでしたら、


Request.Form["TEST"];


ではないでしょうか?

id:irhnhhtn

Formもからっぽです。

<form method="POST" ... >

でsubmitするなら、Request.Formで受け取れそうなんですが、xmlHttpで上記ロジックでやるとだめみたいです。。。

2006/11/09 16:34:52
id:bankband No.2

回答回数23ベストアンサー獲得回数4

ポイント40pt

↓クライアント側Javascript

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

/* &を付ける */

var postdata = "&TEST=123";

xmlHttp.open("POST", "../server_cs.aspx",true);

/* ヘッダーを設定 */

xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");

xmlHttp.send(postdata);

↓サーバ側server_cs.aspx(C#)

<script runat="server">

id:irhnhhtn

できました~!

サーバ側はRequest.Formですね。ありがとうございました。

2006/11/09 18:16:11

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 bankband 23 21 4 2006-11-09 18:15:56
  • id:bankband
    三つ目の回答はオープンしてもらわなくて結構です。
    答えが切れてたもので再度書き直しました。
    irhnhhtnさんポイントありがとうございました。
  • id:llusall
    よかったですね。

    調べてたら、
    Ajax.NET なんてのを見つけました。
    機会があったら使ってみたいと思います。


    [ASP.NET]Ajax.NETでAjaxプログラミングを効率化するには?
    http://www.atmarkit.co.jp/fdotnet/dotnettips/375aspajaxnet1/aspajaxnet1.html

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません