Автор Тема: формирование xml на клиенте  (Прочитано 5131 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн u78

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
формирование xml на клиенте
« : 20 Апреля 2006, 16:05:31 »
подскажите, как сформировать xml на клиенте и отправить его на сервер (или хотя бы как сформировать)

задача такая: пользователь вводит данные на страничке, но не в форме, а в таблице, необходимо отправить данные на сервер

заранее благодарю

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
формирование xml на клиенте
« Ответ #1 : 20 Апреля 2006, 16:32:34 »
u78
"Вы не должны этого хотеть".
Гораздо правильнее делать это на сервере.

[off](кросспост в "html" убил, ибо незачем)[/off]
LJ: Backslashed life (rss)

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
формирование xml на клиенте
« Ответ #2 : 20 Апреля 2006, 21:26:53 »
[OFF]
Цитировать
или хотя бы как сформироват

ручками придётся долго писать, быстрее генерировать на сервере.

Цитировать
как сформировать xml на клиенте

что смотря что надо, смотрим примеры и пишем....

Цитировать
отправить его на сервер

пишем скрипт который бы принемал метод POST и посылаем данные используя метод POST
[/OFF]
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн u78

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
формирование xml на клиенте
« Ответ #3 : 21 Апреля 2006, 10:20:40 »
формировать научился, теперь проблема отослать на сервер, пытаюсь отослать с помощью ActiveX вот так:
JScript
var srvXmlHttp = new ActiveXObject("Msxml2.ServerXMLHTTP.4.0");
но система ругается, что какая dll должна быть зарегистрирована, неужели нет стандартного зарегистрированного компонента?

поясню задачу:
есть веб-приложение, на странице пользователь заполняет документ (приходная накладная) то что он ввёл необходимо отправить на сервер, лучше чем xml придумать трудно для этого, так как надо описать в каком поле какие данные и их тип (дата, ссылка на справочник и пр) количество строк у документа может быть произвольным, вот почему xml и вот почему именно на клиенте

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
формирование xml на клиенте
« Ответ #4 : 21 Апреля 2006, 11:30:51 »
u78
1.Выбранный aX - не вариант, лучше что-то вроде ActiveXObject("Msxml2.XMLHTTP") или ActiveXObject("Microsoft.XMLHTTP") (а совесм хорошо - обойтись стандартным XMLHttpRequest()).
2.
Цитировать
u78: то что он ввёл необходимо отправить на сервер

Для этого есть формы и post. Не надо перекладывать бизнес-логику на клиент, без этого можно и нужно обойтись. Выдай клиенту нужные поля и забери их данные. Всё.
Цитировать
u78: количество строк у документа может быть произвольным

Страху нет никакого. Post вполне может передавать и массивы данных (имею в виду var[]).
LJ: Backslashed life (rss)

Оффлайн u78

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
формирование xml на клиенте
« Ответ #5 : 23 Апреля 2006, 13:28:47 »
спасибо. работает Msxml2.XMLHTTP
а он c IE идёт? а Microsoft.XMLHTTP?
кстати а есть ограничение на размер передаваемого сообщения? Post или Get.
можно и формой передавать, но дело в том, что сервер не знает какие ему поля передадут, к тому же каждое поле имеет свой тип (дата, ссылка на справочник, число) каждый тип требует своего сохранения, в принципе можно и с формой заморочиться - но придётся разбираться с именами, где у меня содержание, где тип поля и прочее, по сложности выльется в разбор xml
ещё важное отличие - submit перезагрузит страницу, а httprequest нет, в xml уже всё структурировано как мне надо, отдельно заголовок документа, отдельно строки, внутри строки поля, каждое поле имеет свой тип, каждая строка может иметь свой id (тогда не создавать в базе, а изменить)
бизнес логики здесь нет - собираются поля и отправляются на сервер. всё.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
формирование xml на клиенте
« Ответ #6 : 23 Апреля 2006, 16:01:51 »
u78
Цитировать
u78:
Msxml2.XMLHTTP

Этот вроде идет для IE6 плюс с офисом,
а вот Microsoft.XMLHTTP с IE по-моему с 5.01

Цитировать
u78:
есть ограничение

Да, у GET-а лучше рассчитывать на килобайт,
у POST-а - два метра (хотя и то, и другое можно менять различными настройками сервера).

Цитировать
u78:
сервер не знает какие ему поля передадут

Тогда получается потенциальная дырка в безопасности (malformed xml), плюс injection от способов обработки. Надо серьезно подойти к секьюрности.

Делай как знаешь. Если тебе так проще.

Плюс к тому, обрати внимание на возможности Office03 XML (можно задавать схемы и валидацию, а там по-секьюрнее браузера будет), InfoPath опять же. Кстати, InfoPath07 спокойно дружит и с IE, и с Gecko.
LJ: Backslashed life (rss)

 

Sitemap 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