如何将 List<T> 从 JS 传递到 API
How to pass List<T> from from JS to API
我有以下模型和控制器。我想知道如何从 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"}]'
我有以下模型和控制器。我想知道如何从 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"}]'