0

次のコードを使用して、aspxファイルにデータを投稿します。

 $.ajax({
            type: 'POST',
            url: "Ajax_Text.aspx?rand=" + myRand
                                        + "&id=" + $(".articleID").attr('title')
                                        + "&text=" + $("#text").val(),
            cache: false,
            beforeSend: function () {

            },
            success: function (data) {
                alert(data); 
            }
        });

次のコードを使用してテキスト値を取得する理由

 string text = "";

            if (!String.IsNullOrEmpty(Request.QueryString["text"]))
            {
                text = Request.QueryString["text"].ToString();
            }
            else
            {
                text = "";
            }

このコードではありません:

string text = "";

            if (!String.IsNullOrEmpty(Request.Form["text"]))
            {
                text = Request.Form["text"].ToString();
            }
            else
            {
                text = "";
            }

何故ですか?jqueryでデータを投稿するときにRequest.Formが機能することを期待していました!何か案は?

問題は、urlパラメーターに入力があることだと思います。たぶん私はそれをデータパラメータに入れるべきですが、それはそれがjsonリクエストになることを意味します!

4

2 に答える 2

2

POSTデータはクエリ文字列で送信されませんが、リクエストの本文に追加されます。このコードを試してください:

$.ajax({
        type: 'POST',
        url: "Ajax_Text.aspx",
        data: {'rand': myRand, 'id': $(".articleID").attr('title'), 'text': $("#text").val()},
        cache: false,
        beforeSend: function () {

        },
        success: function (data) {
            alert(data); 
        }
    });
于 2012-09-29T22:09:43.663 に答える
1

textデータ( )をクエリ文字列として(URLの一部として)「投稿」しているため、を使用する必要がありますRequest.QueryString

于 2012-09-29T22:09:25.313 に答える