是否有可能使用ajax GET请求将复杂json对象列表绑定到c#对象?

本文关键字:对象 列表 json 绑定 复杂 有可能 ajax 请求 GET 是否 | 更新日期: 2023-09-27 18:12:49

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
}
public ActionResult Test (List<Person> persons)
{
    ...
}
Javascript:

var person = { Name: "P1", Id: 1 };
var persons = [];
persons.push(person);
persons.push(person);
var json = JSON.stringify(persons);
$.ajax({
    url: '@Url.Action("Test")',
    type: 'GET',
    dataType: 'json',
    data: json,
    contentType: 'application/json; charset=utf-8',
});

我正在尝试使用GET请求向控制器发送人员对象列表。问题是persons列表总是为空。当我发出POST请求时,一切都很好。

是否有可能绑定一个复杂的json对象列表到一个c#对象使用ajax GET请求?

是否有可能使用ajax GET请求将复杂json对象列表绑定到c#对象?

是否有可能绑定一个复杂的json对象列表到一个c#对象使用ajax GET请求?

不,不是。请记住,您可以发送的查询字符串是有限制的,因此在GET请求中使用复杂对象可能不是您应该做的事情。GET谓词通常用于从简单的东西(如ID和其他几个查询字符串参数)中检索数据,而不是通过发送复杂的对象。