|
Передача HTML-текста с сервера на клиент |
☑ |
0
OneMan1
10.10.23
✎
17:04
|
Собственно есть обработка, на форме которой лежит "Поле HTML документа".
Есть метод, который лезет на сервер, получает на нем данные, в т.ч. и строку которая содержит html текст - это Тело email сообщения.
Собираем все это в структуру и радостно отправляем обратно на клиент.
Периодически 1с-ка спотыкается и ругается на "Ошибка разбора XML: -[1,1]".
Я думаю, что это из-за того, что в строке с html текстом может быть куча всякой запрещенки, которую не может передать 1с-ка с сервера на клиент.
Что сделал я: На сервере строку html в ДвоичныеДанные потом в base64 - передал на клиент, там развернул все в обратную.
Пока вроде все работает, для теста нужно время.
Может кто с таким сталкивался уже и я придумываю велосипед?
И как лучше передавать, через хранилище или напрямую?
|
|
1
dmt
10.10.23
✎
17:12
|
Если на форме лежит поле ХТМЛ документа, значит оно связано с реквизитом формы типа строка. Значит можно на сервере поместить свой текст хтмл в реквизит формы. Пока непонятно, зачем вручную тащить что-то на клиент.
|
|
2
ДедМорроз
10.10.23
✎
19:26
|
Нужно только экранировать специальные символы < и &
|
|
3
Волшебник
10.10.23
✎
19:28
|
Данные лучше передавать через сериализованное хранилище значений.
(2) Экранирование что-нибудь испортит.
|
|
4
OneMan1
11.10.23
✎
08:50
|
(3) запихать строку в хранилище значений и потом сериализовать его xml (ЗаписатьXML())?
|
|
5
OneMan1
11.10.23
✎
08:51
|
или так наверное - СериализаторXDTO.ЗаписатьXDTO(Значение)
|
|
6
H A D G E H O G s
11.10.23
✎
11:08
|
В типовых это сделано так
СерверныйМетод(ПолучитьДвоичныеДанныеИзСтроки(СтрокаДанных));
На сервере:
СтрокаДанных=ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные);
|
|
7
OneMan1
11.10.23
✎
12:18
|
(6) Отлично, спасибо. Сократил кусок кода )
|
|