Показать сообщение отдельно
Старый 02.04.2020, 01:00   #1  
flav is offline
flav
Участник
 
11 / 10 (1) +
Регистрация: 06.02.2020
Изменение контента вебресурса из js и страница настройки решения
И снова здравствуйте)

В общем, понадобилось мне хранить настройки для моего приложения в вебресурсе отдельно. Вынуть или редактировать через обычный просмотрщик я их могу - первое делается фетчем. Файл имеет расширение js и для системы выглядит как валидный, внутри же лежит json с нужными данными.

Так вот, дошел я, значит, до создания страницы настройки решения. То есть имеется у нас маленькая такая страничка хтмл, где менеджер, который может накосячить в json коде, будет вводить нужные значения в поля, это будет собираться и записываться в файл конфига. Сборку мы опустим, поскольку пока я тестировал саму возможность изменения конфига, использовался рабочий датасет.

Вот здесь и произошел у меня, господа, что называется, затык. Известно, что вебресурс мы спокойно можем апдейтить. Контент там хранится в поле content. Есть еще поле contentJson, но оно всегда null и вообще имеет странный тип данных memo. Казалось бы - просто перезапиши поле content. Но не тут то было - оказалось, что мой "причесанный" и читабельный в редакторе json в запросе к системе по урлу (через обычный /api/data/v9.0/webresourceset? и тд) возвращает мешанину из символов, вроде этой:

content:"ewogICAgInJvbGVzIjogewogICAgICAgICJtYW5hZ2VyIjogIjVkNzRkYjM0LTRkMzItZTg..."

При этом в самом редакторе видим:


Как-то ну вообще странно.

Попытка заполнить поле через JSON.stringify успехом не увенчалась - вебресурс сломался и пришлось заново его подгрузить из проводника.

И вот сам вопрос - КАК мне адекватно скормить ему мой json, чтобы он его скушал, не подавился, и была возможность его читать и редактировать? Мб я что-то не так сделал с Json.stringify?

Кто-нибудь такое реализовывал? Речь если что только о js.

З.Ы.
Видел где-то давно (>2 лет назад) материал, кратко описывающий это, но не могу найти.

Последний раз редактировалось flav; 02.04.2020 в 01:09. Причина: Добавлен скриншот