问题描述
我有以下模型和控制器。我想知道如何通过 Ajax 调用为 API 传递值。
型号:
Public Class Data
{
public int ID {get;set;}
public string Title {get;set;}
}
控制器:
[HTTPPOST]
public string UpsertItems(List<Data> Inputs)
{
try
{...}
catch(Exception ex)
{..}
}
从前端,我需要将以下数据传递给 API。
我尝试传递如下数据
var datacoll='{{"ID":1,"Title":"a"},{"ID":2,"Title":"b"}}'
如果我按原样传递变量 datacoll,我会收到 500 内部错误,如果我在控制器中传递 JSON.Stringify(datacoll),我会收到空值。
Ajax 方法:
$.ajax({
url: '/Test/UpsertItems',method: 'POST',dataType: 'text',contentType: 'application/json; charset=utf-8',data: datacoll,success: function (data) {..},error: function (jqXHR) {..},});
请告诉我它有什么问题。
解决方法
看起来您的数据需要是一个列表,请注意方括号。
var datacoll='[{"ID":1,"Title":"a"},{"ID":2,"Title":"b"}]'