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 回答