Модель веб-api ajax post null

Я видел здесь много этих вопросов, и я пробовал все, но все равно не работает, так что это моя последняя попытка

это мой js:

    var test = { backlog: "backlog", todo: "todo", done: "done"};
    $.ajax({
    type: 'POST',
    data: JSON.stringify({ data: test }),
    url: "Post",
    contentType: 'application/json'
    }).done(function (res) {
     console.log('done' , res);
    });

мой контроллер: testt равен нулю.

    [HttpPost]
    public test Post([FromBody] test testt)
    {
        test data = testt

        return data;
    }

моя модель:

public class test
{
    public test(){}
    public string backlog { get; set; }
    public string todo { get; set; }
    public string done { get; set; }
}

проблема в том, что я отправляю данные на сервер, но json не связывается с моделью

если я использую это:

    [HttpPost]
    public test Post([FromBody] JObject testt)
    {
        test data = testt["data"].ToObject<test>();

        return data;
    }

будет работать, но я не хочу этого делать, я хочу, чтобы автоматическая привязка была намного проще со сложными данными. Прошу прощения за дубликат, но я больше не знаю, что делать.

Это просто data: JSON.stringify(test), (альтернативно, метод будет public test Post([FromBody] test data), если вы используете data: JSON.stringify({ data: test }),)

user3559349 26.10.2018 09:05

@StephenMuecke да, это было частью проблемы, большое спасибо, но я не показываю вам свои данные, и в моих реальных данных есть список <>, когда я пытаюсь использовать список <otherModel>, тест становится нулевым, если я использую list <object> я получаю строку и все запускается. Я все еще хочу работать как список <otherModel>, но спасибо, я новичок в этом, и то, что вы сказали, было правильным.

Gabriel Pires 26.10.2018 14:57

Если это массив - например, var test=[{ backlog: "a", todo: "b", done: "c" }, { backlog: "x", todo: "y", done: "z" }];, тогда он будет нормально работать с data: JSON.stringify({ data: test }) (или просто data: JSON.stringify(test)), и у метода есть параметр List<test> data, но вам нужно показать свой реальный код, если у вас все еще есть проблемы

user3559349 26.10.2018 23:52

И снова здравствуйте. Я обнаружил проблему, на самом деле было больше двух проблем 1 ° у моих данных был список списка модели, поэтому только list <model> не работал, 2 ° некоторые массивы в моих данных были пустыми, поэтому он перестал заполнять поля и вернуть объект null, чтобы исправить это, я инициализирую список в конструкции. Есть ли у вас какие-либо советы, как сделать это лучше или инициализировать список в конструкции, все в порядке? еще раз спасибо за ваше время.

Gabriel Pires 27.10.2018 22:47
0
4
56
0

Другие вопросы по теме