Десериализовать значения массива для формирования с использованием jquery.deserialize - PullRequest
1 голос
/ 21 марта 2012

Мой веб-метод C # использует JavaScriptSerializer для возврата объекта JSON в строковом формате с именем jSONstring. Затем мой javascript использует jquery.deserialize и выполняет следующие действия:

$("#form").deserialize(JSON.parse(jSONstring));

Кажется, это работает нормально, за исключением случаев отображения на массив элементов.

Мой HTML выглядит следующим образом:

<input name="AccountID" value="" />
<input name="Account[0].name" value="" />
<input name="Account[1].name" value="" />
<input name="Account[2].name" value="" />

Объект JSON, возвращаемый с сервера, выглядит следующим образом:

'{"AccountID": 123, "Account":[{"name": "AccountName1"},{"name": "AccountName2"},{"name": "AccountName3"}]}'

После вызова десериализации AccountID обновляется, но имена учетных записей никогда не обновляются до AccountName1, AccountName2, AccountName3.

Я попытался переименовать свои элементы ввода в следующее, и оно все еще не работает:

<input name="Account.name" value="" />
<input name="Account.name" value="" />
<input name="Account.name" value="" />

Что я делаю не так?

1 Ответ

1 голос
/ 23 марта 2012

Этот формат не поддерживается плагином, он поддерживает только данные, сгенерированные из jQuery.serialize , jQuery.serializeArray и jQuery.serializeObject (неофициально) , Тем не менее, нетрудно написать небольшую функцию, которая конвертирует возвращаемый объект JSON в один из форматов, перечисленных выше. Другим вариантом будет использование другого метода сериализации, например его параметризация.

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