如何在 ASP.NET Web 表单中获取 JSON POST 数据?
How to get JSON POST data in ASP.NET Web Forms?
我目前有一些 jquery 正在将数据发布到我的网页之一。
现在我只是想把它送到 post 一些 JSON 来测试它,但我不知道必须在我的后端实际获取数据一旦 posted.
我一直使用 Request.Params
来获取 posted 数据,但这次似乎不起作用。
这是我用来执行 post:
的代码
// This data is just for testing purposes, doesn't actually do anything
var person = {
name: "Bob",
address: "123 Main St.",
phone: "555-5555"
}
var jqxhr = $.ajax({
type: "POST",
url: "/example/mypage.aspx",
contentType: 'application/json; charset=utf-8',
dataType: "json",
timeout: 0,
success: function () {
alert("Success");
},
error: function (xhr, status, error) {
alert(error);
},
data: person
});
post 绝对是成功的,因为我可以使用 Fiddler 看到它,而且当我检查 Request.ContentLength
它时 returns 正确的字节数是 posted.
但我无法在任何地方找到实际数据。
关于我做错了什么的想法?
提前致谢。
发布javascript对象:
- 将普通对象传递给数据选项,
- 保留 contentType 选项。默认选项是完美的。
然后您可以像发布表单一样访问请求集合中对象的 属性 值。
服务器端:
string input;
using(var reader = new StreamReader(Request.InputStream)){
input = reader.ReadToEnd();
}
发帖Json:
- 数据:JSON.stringify(人),
- 内容类型:"application/json"
服务器端:
string json;
using(var reader = new StreamReader(Request.InputStream)){
json = reader.ReadToEnd();
}
var person = Json.Decode(json);
引用自:
http://www.mikesdotnetting.com/article/220/posting-data-with-jquery-ajax-in-asp-net-razor-web-pages
我目前有一些 jquery 正在将数据发布到我的网页之一。
现在我只是想把它送到 post 一些 JSON 来测试它,但我不知道必须在我的后端实际获取数据一旦 posted.
我一直使用 Request.Params
来获取 posted 数据,但这次似乎不起作用。
这是我用来执行 post:
的代码// This data is just for testing purposes, doesn't actually do anything
var person = {
name: "Bob",
address: "123 Main St.",
phone: "555-5555"
}
var jqxhr = $.ajax({
type: "POST",
url: "/example/mypage.aspx",
contentType: 'application/json; charset=utf-8',
dataType: "json",
timeout: 0,
success: function () {
alert("Success");
},
error: function (xhr, status, error) {
alert(error);
},
data: person
});
post 绝对是成功的,因为我可以使用 Fiddler 看到它,而且当我检查 Request.ContentLength
它时 returns 正确的字节数是 posted.
但我无法在任何地方找到实际数据。 关于我做错了什么的想法?
提前致谢。
发布javascript对象:
- 将普通对象传递给数据选项,
- 保留 contentType 选项。默认选项是完美的。
然后您可以像发布表单一样访问请求集合中对象的 属性 值。
服务器端:
string input;
using(var reader = new StreamReader(Request.InputStream)){
input = reader.ReadToEnd();
}
发帖Json:
- 数据:JSON.stringify(人),
- 内容类型:"application/json"
服务器端:
string json;
using(var reader = new StreamReader(Request.InputStream)){
json = reader.ReadToEnd();
}
var person = Json.Decode(json);
引用自: http://www.mikesdotnetting.com/article/220/posting-data-with-jquery-ajax-in-asp-net-razor-web-pages