我使用以下代码将数据发布到我的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 = "";
}
为什么?我希望Request.Form能够用jquery发布数据!有什么想法吗?
我怀疑问题是我在url参数中输入了输入。也许我应该把它放到数据参数,但这意味着它将成为一个json请求!
答案 0 :(得分: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);
}
});
答案 1 :(得分:1)
您将数据(text
)“发布”为查询字符串(作为网址的一部分),因此您必须使用Request.QueryString
。