我正在设置一个简单的POST方法,在代码隐藏中处理C#之前将信息发送到表单。预期的结果是一个带有一些简单值的纯文本字符串:
function postTasks() {
var postdata = $("#taskReturnDiv").text();
try {
$.ajax({
type: "POST",
url: "calendar.aspx",
cache: false,
data: postdata,
dataType: "text",
error: getFail
});
}
catch (e) {
alert(e);
};
function getFail(data, textStatus, jqXHR) {
alert(textStatus);
};
};
但是,尝试阅读以下内容:
string processTaskPostback(HttpContext context)
{
string taskString = String.Empty;
HttpContext.Current.Request.InputStream.Position = 0;
using (StreamReader inputStream = new StreamReader(HttpContext.Current.Request.InputStream))
{
taskString = inputStream.ReadToEnd();
return taskString;
}
}
taskString
中的结果包含一个似乎是对statebag的引用而不是预期字符串的值:
__VIEWSTATE=RGl0btFvBz93yS%2BQp%2FHpk1pT9AohsFsyJI90RjT3BvtWkw3DPYDjGhqIGHSADWaCoXsRXxWSmdlwsbebI7qMhxn%2FEKZiDTH9RB6TB97HFurOenlTG3sXGe6r2a2MqaTCIkYUZVbLp8FQuyPQmG%2FdKCXeUrjUIYUGBoD%2FvB8xF3ThhppKd3OAsPydvVQkB4z4CkygDtcZwP6IckX52YX%2BE3ttAEOOUVfjjMY5lXaiB56EwldbcRvJP6nIKz1SeQodGNgeYSOFnMO1zht0ouMRBbUYb5K3fAuB5zHFogpmyfd4K9whgnGKwcyf1dXzwlli&newEvent_title=1&newEvent_date=2018-03-21&newEvent_description=1&addNewPersonalEvent=Add+Event&__VIEWSTATEGENERATOR=B66867E1&__EVENTVALIDATION=9z3SFY4WzFb%2BAXZpcZVK5W7ZwbkYcJ3I43tG39FSX4H7PRykGGlQ4TS7%2F%2Bfs34wWJXo1WSdDRheOljoJFm8Cc6B0Q%2Bwl3LbkKGAKt1ifl%2F6B5XBxW9eUwE%2BeYa0dlJIiY08t05OKyGu%2FF03cZOgZnbSNYMlTcajFwaWwnU5PHKLsXd%2FNVWyxfvoEy%2BAFmFRc
我在这里缺少什么?
答案 0 :(得分:0)
//static WebMethod to serve ajax() call
[WebMethod()]
public static person GetData(string name)
{
person p= new person();
p.name = name;
return p;
}
}
//必须以这种方式进行呼叫
jQuery.ajax({
url: '[ASPX file Name Here].aspx/GetData',
type: "POST",
dataType: "json",
data: "{'name': '" + name + "'}",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(JSON.stringify(data));
}
});