|
|
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Добрый день, коллеги. Потребовалось решить такую задачу. (Использую библиотеку XAJAX.) На странице имеется некоторое количество объектов (формы, инпуты, селекты, дивы и.т.д.) Необходимо передать на сервер (посредством вызова функции XAJAX) все объекты со всеми аттрибутами и значениями. Количество объектов нам неизвестно, т.к. может изменяться в процессе работы пользователя со страницой , т.к. может быть два инпута, а может быть 10. Так, как неизвестно количество элементов, в следовательно, неизвестно количество параметров, которые мы будем передавать функции, вижу для себя такой путь решения: Обходя в цикле все элементы на странице (либо в заданном контейнере), создаем DOM-элементы XML с такими же аттрибутами и значениями, затем XML передаем на сервер. А PHP уже пишет этот XML в базу. Вопрос в том, как это передать ? Кто работал с XAJAX - подскажите. Функция на сервере не воспринимает в качестве параметра этот XML- объект. Может, что-то типа serialize в клиенте делать ? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 15:24 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Проще так: 1. Берём innerHTML кадого нибудь эл-та, содержащего инпуты. 2. Заталкиваем его в хидден какой-нибудь формы. 3. Сабмитим эту форму. 4. В пхп парсим xml обычным образом (xhtml - тот же xml). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 16:08 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Я бы так и сделал, если бы в innerHTML содержались также значения, введенные пользователем в поля формы :( Так , увы, не получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 18:01 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
sapounovЯ бы так и сделал, если бы в innerHTML содержались также значения, введенные пользователем в поля формы :( Так , увы, не получится Поверь, они там содержатся! Выведи алертом в конец-то концов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 18:24 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Я пролистал Вики по XAjax и то что Вы хотите сделать - там уже делается на автомате http://xajaxproject.org/wiki/Documentation:xajax_uncompressed.js getFormValues() * The first argument is the id of the form * The second argument (optional) can be set to true if you want to submit disabled elements * The third argument (optional) allows you to specify a string prefix that a form element name must contain if you want that element to be submitted objectToXML (obj) Generates an XML message that xajax can understand from a javascript object ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 19:14 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Апапаси, чего ты пишешь. Сам-то читал? Прекрати эту фигню, а то из нашего форума все разбегутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 22:30 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Вопрос на засыпку: зачем передавать xml на сервер, когда можно передать параметры? Если очень принципиально, то почему не создать xml ручками? - Вроде проблем особых быть не должно - запихиваем все данные в стринг, который несет xml, а на сервере каким-нибудь xml-парсером легко его парсим и получаем все параметры. Насколько понимаю, вопрос не так прост. Если он сложнее, то почему так мало вводных? Если используется внешняя библиотека, то а) не верится, что она сама может автоматически создать xml, анализируя страницу/форму; б) если не так, то зачем усложнять, когда вопрос транспорта - второстенный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 23:03 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
IDVsbruckзапихиваем все данные в стринг, который несет xml, а на сервере каким-нибудь xml-парсером легко его парсим и получаем все параметры Ты предыдущие посты читаешь? А если цитируешь - ссылайся. Шутка. Таки почитай, чего вверху. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2008, 23:32 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Совсем не понял, к чему это ты ... там ничего нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 01:13 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
это он об этом наверное: ShSergeПроще так: 1. Берём innerHTML кадого нибудь эл-та, содержащего инпуты. 2. Заталкиваем его в хидден какой-нибудь формы. 3. Сабмитим эту форму. 4. В пхп парсим xml обычным образом (xhtml - тот же xml). вот только innerHTML не сохраняет введенные значения. Я конечно понимаю, что ShSergeПоверь, они там содержатся! Выведи алертом в конец-то концов. правда проверять нужно не только в ie, но хотя бы еще и файрфоксе с оперой. Создать строку с xml - проще всего. Тем более что этот вариант в принципе схож с тем, что изначально определил для себя топикстартер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 02:33 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
ShSergeАпапаси, чего ты пишешь. Сам-то читал? Прекрати эту фигню, а то из нашего форума все разбегутся. Серж. За кого Вы меня держите. XAjax это библиотека, которая написана часть на JavaScript, часть на PHP. Её основное назначение 1.1 Собирать инпуты форм 1.2 сериализовать объекты клиента ... и отправлять в сериализованном виде на сервер 2. Часть PHP я не смотрел, но я надеюсь, что она не генерирует случайные числа а разбирает как раз эти конкретные сериализованные зарпросы. Если Вачто-то неясно - спрашивайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 03:01 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
ShSergeПроще так: 1. Берём innerHTML кадого нибудь эл-та, содержащего инпуты. 2. Заталкиваем его в хидден какой-нибудь формы. 3. Сабмитим эту форму. 4. В пхп парсим xml обычным образом (xhtml - тот же xml). Вы б написали лучше - берем кувалду и разбиваем комп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 03:03 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
illionпроверять нужно не только в ie, но хотя бы еще и файрфоксе с оперой. Проверил. Ну лохонулся. Извиняюсь. С кем не бывает? В фирефоксе и в опере - не работает. Только в ИЕ. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 09:51 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
IDVsbruckВопрос на засыпку: зачем передавать xml на сервер, когда можно передать параметры? Количество параметров неизвестно, т.к. неизвестно наполнение страницы . Если бы это была просто форма, то я использовал бы xajax getFormValues. Необходимо запихать также и другие элементы, дивы, и содержащиеся в них текстовые блоки и.т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 13:59 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Вобщем-то IDVsbruck вроде написал вопрос с ответом (в данном конкретном случае - правильный). Попробуй JQuery например - там чё-то с сериализацией инпутов есть. А всё-таки нафига это нужно (по сабжу) - не понятно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2008, 20:41 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
берём библиотеку, или сами пишем) , запихиваем все данные в JSON объект, обычно библиотека содержит такой вариант сериализации формы, передаём объект как параметр в POST , на сервере по JSON получаем нужный объект на пхп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2008, 00:31 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
ShSergeА всё-таки нафига это нужно (по сабжу) - не понятно!. На странице есть одна большая динамическая форма. Она формируется из нескольких шаблонов в ответ на вводимые пользователем данные . Количество элементов формы предугадать практически невозможно, т.к. в одном случае, элементов формы может быть 10, в другом случае, элментов формы может быть олее ста . Эту форму (не результат обработки, а именно саму форму) со всеми введенными данными требуется сохранить в БД. Кажется, у меня получилось объяснить, зачем это нужно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 11:37 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Не-а ... Ты только сказал, что ты хочешь. А вот зачем такая ерунда в базе - нет ... :):) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 14:26 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
IDVsbruckНе-а ... Ты только сказал, что ты хочешь. А вот зачем такая ерунда в базе - нет ... :):) Только лишь затем, чтобы восстановить оттуда всю эту нефиговую форму со всеми ее кастомными полями и значениями. Поэтому и подумал про XML, ибо в нем проще всего хранить такие заморочки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 14:31 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Может лучше пропарсить по амперсантам и энакам равенства реквест? Лет пять тому назад у меня была аналогичная задача. Я её решил просто - сказал заказчику, что только в ИЕ будет работать - его удовлетворило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 22:14 |
|
||
|
Формирование XML из JS и отправка его на сервер
|
|||
|---|---|---|---|
|
#18+
Вот. Для себя писал :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. С уважением, Vasilisk ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2008, 22:59 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=338&tid=1456604]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 312ms |

| 0 / 0 |
