我使用ajax调用mvc控制器:
var ajaxOptions = { url: url, type: 'POST', contentType: 'application/json',
data: JSON.stringify(data) };
我在数据中发送以下JSON
data = "{"TagList":["AA","BB","CCC","DDDD"]}"
在我的控制器中,以下方法称为
[HttpPost]
public async Task<JsonResult> Update(TagItem tagItem)
我得到TagItem.TagList = null
public class TagItem
{
public List<string> TagList { get; set; }
}
答案 0 :(得分:4)
您缺少JSON中的tagItem
包装器。
data = {"tagItem":{"TagList":["AA","BB","CCC","DDDD"]}};
var ajaxOptions =
{ url: url,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(data)
};
试试这个例子: -
var data = { "tagItem": { "TagList": ["AA", "BB", "CCC", "DDDD"]} };
$.ajax({
type: 'POST',
url: "home/test",
data: JSON.stringify(data),
contentType: 'application/json; charset=utf-8'
});
答案 1 :(得分:2)
使用contentType
:
$.ajax({
type: 'POST',
dataType: 'json',
url: url,
data: JSON.stringify(data),
contentType: 'application/json; charset=utf-8'
});
<强>加了:强>
由于@PSL发现OP丢失了tagItem
,在用它包装当前data
后,代码必须正常工作。