0

我使用 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; }
}
4

2 回答 2

4

您缺少tagItemJSON 中的包装器。

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'
    });
于 2013-05-07T20:07:38.353 回答
2

试试这个contentType

$.ajax({
    type: 'POST',
    dataType: 'json',
    url: url,
    data: JSON.stringify(data),
    contentType: 'application/json; charset=utf-8'
});

添加:

由于@PSL 发现 OP lost tagItem,在用它包装电流后data,代码必须工作。

于 2013-05-07T19:56:17.203 回答