Какой правильный формат для передачи объекта массива в контроллер с использованием JQuery / Ajax? - PullRequest
0 голосов
/ 21 февраля 2020

Попытка передать объект в список моделей из JQuery в следующем формате, но они отображаются нулевыми в отладчике VS

obj.data.GoUsers = [{ Email: 'r@gmail.com', InvitationStatus: 1 }]

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

 for (i = 0; i < 3; i++) {
    obj.data["GoUsers[" + i + "].Email"] = "test" + i + "@g.com";
    obj.data["GoUsers[" + i + "].InvitationStatus"] = i;
 }

GoUsers - тип списка моделей.

Public Property GoUsers As List(Of GOUsersModel)

ajax окончательный вызов

post(obj.url, $.param(obj.data), callback_function)

Ответы [ 2 ]

0 голосов
/ 10 марта 2020

Я думаю, что это ваше решение.

for (i = 0; i < 3; i++) {
    obj.data["GoUsers"][i]["Email"] = "test" + i + "@g.com";
    obj.data["GoUsers"][i]["InvitationStatus"] = i;
}
0 голосов
/ 21 февраля 2020

Чтобы передать массив объектов в метод контроллера MVC, вам нужно использовать JSON.stringify.

obj.data.GoUsers = JSON.stringify([{ Email: 'r@gmail.com', InvitationStatus: 1 }, { Email: '123@gmail.com', InvitationStatus: 0 }]);

Прочитайте следующий пост, чтобы лучше понять.

Передача списка объектов в метод контроллера MVC с использованием jQuery Ajax

...