Ajax Вызов, несколько параметров объекта, ноль на контроллере - PullRequest
0 голосов
/ 07 мая 2020

Я выдергиваю волосы. Я могу заставить это работать с одним входящим объектом, но когда я передаю два объекта, он не работает. Я знаю, что это что-то глупое. 1009 *

Все, начиная с JS

    var input = { FirstName: 'Bart', LastName: 'Simpson' };
    var inputAnother = { FirstName: 'Bart', LastName: 'Simpson' };

    $.ajax({
        url: '/Home/GetTestAjaxCallWithMultiObjsIn',
        type: "POST",
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify({input: input, inputAnother: inputAnother}),
        success: function (response) {
            console.dir(response);
        }
    });

Что не так с данными: stringify ???

Спасибо, тонны!

Использование. NET CORE 3.1, если это имеет значение

    Request Payload
    {input: {FirstName: "Bart", LastName: "Simpson"},…}
    input: {FirstName: "Bart", LastName: "Simpson"}
     inputAnother: {FirstName: "Bart", LastName: "Simpson"}

Для ясности: я пытаюсь перейти к другим объектам как Params

    [HttpPost]
    [AllowAnonymous]
    [IgnoreAntiforgeryToken]
    public IActionResult GetTestAjaxCallWithMultiObjsIn(Test input, Testing inputAnother)
    {
        return  Json(string.Concat(input.FirstName, inputAnother.LastName));
    }

1 Ответ

0 голосов
/ 07 мая 2020

Вы не можете отправить несколько отдельных объектов и привязать их к нескольким различным параметрам. С [FromBody] весь текст запроса будет привязан к этому параметру. Если вам нужно отправить несколько вещей, вы должны выполнить привязку к перечислимому из этих вещей и отправить JSON как массив объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...