我目前有一些jquery将数据发布到我的一个网页上。
现在我只是试图让它发布一些JSON来测试它,但我不知道一旦发布它就必须在我的后端获得数据。
我一直使用Request.Params
来获取发布的数据,但这次似乎没有用。
这是我用来做帖子的代码:
// 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
});
这篇文章肯定是成功的,因为我可以看到它使用Fiddler,而且当我检查Request.ContentLength
时它会返回发布的正确字节数。
但我无法在任何地方找到实际数据。 关于我做错了什么想法?
提前致谢。
答案 0 :(得分:4)
然后,您可以访问Request集合中对象的属性值,就像您已发布表单一样。
服务器端:
string input;
using(var reader = new StreamReader(Request.InputStream)){
input = reader.ReadToEnd();
}
服务器端:
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