2009-03-14 3 views
0

У меня есть страница, на которой пользователь может динамически создавать некоторые идентичные группы входов, заполнять их и отправлять на сервер.отправка иерархических данных из javascript через плоский запрос POST

<input type="text" name="firstName"/> 
<input type="text" name="lastName"/> 

Каков предпочтительный способ отправки этих данных на сервер?

Возможно, есть несколько простых способов эмуляции иерарных данных по запросу POST, избегая структур XML?

Значения атрибутов «имя» («firstName1», «firstname2»)?

Создание идентификатора для каждой группы или ввода?

Опираясь на порядок пар имя-значение в запросе POST?

EDIT: Конечно, я знаю о JSON. Но для того, чтобы использовать некоторые минимальные иерархии, я хотел бы ответить на второй ответ: Положитесь на порядок имени-фамилия в почтовом запросе.

ответ

0

Если партии данных упорядочены, вам не нужны дополнительные идентификаторы, так как заказ уже идентифицирует пары данных. Таким образом, вы могли бы просто использовать firstName и lastName для каждой пары данных:

firstName=First%20Name%201&lastName=Last%02Name%201&firstName=First%20Name%202&lastName=Last%20Name%202&… 

Вы на стороне сервера приложений, то просто объединяет каждую пару данных.

Но некоторые языки/системы уже делают это, когда данные имеют специальный формат. В PHP вы могли бы use the arg[] syntax to automatically get an array of the data.

+0

хорошо, я использую .net, который использует NameValueCollection для Request.Form, который получает значения от разделенных запятыми так: Request.Form [ «FirstName»] // FIRSTNAME1, FIRSTNAME2, firstname3 она не занимает позицию каждого значения, поэтому firstName и lastname не будут объединены. (или я что-нибудь пропустил?) – rudnev

+0

Я не знаю .NET. Но попробовали ли вы параметр 'index'? (См. Http://msdn.microsoft.com/library/ms525985.aspx) – Gumbo

+0

работает, если у меня всегда есть имя и фамилия, да. он не работает, если у меня есть дополнительные параметры. – rudnev

3

Вы можете использовать сериализацию JSON вместо XML. На стороне браузера вы можете использовать одну из Javascript JSON-библиотек, такую ​​как this one, и существует множество реализаций для серверных языков, которые вы можете использовать для десериализации.

+0

Я знаю, конечно, о json. Я просто искал более простое решение для маленьких иерархий. – rudnev

Смежные вопросы