来自 JavaScript 的 C# JSON 帖子
C# JSON Post From JavaScript
我有以下 2 个保存数据的类:
public class ItemList{
public IList<Item> Items{get;set;}
}
public class Item{
public int id {get;set}
public string name {get;set}
}
我的控制器如下所示:
public virtual JsonResult SaveItems(ItemList items)
{}
我尝试像这样发布一个JS对象:
var toPost = { "items" : [ {"id" : 1, "name":"test}, {"id" : 1, "name":"test"}] }
$.ajax({
type: "POST",
url: "URL TO POST TO",
dataType: "json",
data: toPost,
traditional: true,
success: function (data, status, request) {
if (data.Error != undefined) {
alert("System Error: " + data.Error);
return;
}
console.log("Success");
},
error: function (request, status, error) {
console.log("ERROR");
}
});
我在发布之前做了一个console.log
,数据看起来与 toPost
变量中的描述相同,但在 C# 端调试时,ItemList items
为 null
在 toPost 中使用 JSON.stringify 并设置内容类型
$.ajax({
...
contentType: "application/json; charset=utf-8"
data: JSON.stringify(toPost),
...
});
您的 SaveItems 方法需要一个 ItemsList 对象,并且请求中发送的内容是一个字符串。您需要将请求数据反序列化为 ItemsList 对象,如下所示:
public virtual JsonResult SaveItems(String jsonRequest)
{
ItemsList items = Util.JsonSerializer.Deserialize<ItemsList>(jsonRequest);
// further processing of items
}
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- json字符串的Javascript帖子:没有任何东西传入或返回
- ajax和json错误.php帖子错误
- 与restify一起,我的帖子显示了一个“;将循环结构转换为JSON”;错误
- json:当点击一个类别链接时,我想只显示该类别中的帖子
- AngularJS,从json获取单个帖子
- 来自 JavaScript 的 C# JSON 帖子
- 具有JSON有效负载的Crossrider ajax帖子请求在Rails后端中无法正确接收
- 带有JSON响应的jQuery帖子
- 与发送序列化表单数据的现有AJAX帖子一起发送额外的JSON数据
- 如何使用javascript For In或Object从json数组中订购帖子.键循环
- 使用JSON显示来自多个facebook feed的帖子
- 使用JSON/JSONP访问tumblr帖子
- 博客JSON Feed API超过500个帖子
- 为什么我的帖子jQuery Ajax请求是SEINDING JSON