Прямо сейчас вы не передаете JSON, вы передаете данные такими, какие они есть (сериализовано с $.param()
) ... что выглядит примерно так:
Name=something&Products%5B0%5D%5BProductCode%5D=product+1&Products%5B0%5D%5BProductName%5D=product+1&Products%5B1%5D%5BProductCode%5D=product+2&Products%5B1%5D%5BProductName%5D=product+2
Чтобы передать JSON, вам нужно его преобразовать в строку, например:
data: JSON.stringify({ "Name": this.Name,
"Products": [{ "ProductCode": "product 1", "ProductName": "product 1" },
{ "ProductCode": "product 2", "ProductName": "product 2"}]
}),
Что выглядит так:
{"Name":"something","Products":[{"ProductCode":"product 1","ProductName":"product 1"},{"ProductCode":"product 2","ProductName":"product 2"}]}
Теперь это то, что ваша модель может превратить в объект. Для более старых браузеров (JSON, включает json2.js
, который будет эмулировать поведение.