У меня есть веб-сайт, который, в свою очередь, имеет несколько страниц с богатым пользовательским опытом.Как передать данные с сервера на страницу
Для того, чтобы заполнить данные JavaScript, я визуализации "текст в HTML-страницы следующим образом:
<script>
var _data = [
new BigDataObject(22022,{}),
new BigDataObject(30007,
{
"M":new ChildObject(25235,2,296),
"D":new ChildObject(25235,1,296),
"E":new ChildObject(25235,4,148)
})
];
... use _data object in JS functions
</script>
вещи работают хорошо.
Но мне также необходимо перенести данные с бэкэнд через обратные вызовы AJAX, предпочтительно используя те же «строки» для передачи данных. Проблема в том, что я не знаю, как правильно проанализировать объект обратно.
Проблема № 1: я мог бы передать струне точно так же и синтаксическую преобразовать их в объекты с помощью Eval(), но я слышал, что «Eval» использование небезопасно и его следует избегать ..
Проблемы # 2: Я не могу использовать JSON.parse, потому что строка, которую я написал выше, не является допустимой строкой JSON.
Чтобы решить эту проблему, я могу изменить способ генерации данных и использовать данные JSON вместо императивных инструкций.
Проблема №3: Но в этом случае мне нужно будет сделать свойства как BigDataObject, так и ChildObject общедоступными. Которых я бы хотел избежать.
Вопрос: Как реализовать передачу данных, так что я могу скрыть «сеттер» для свойств объектов и использовать «безопасный» подход
Конструкторы этих объектов находятся на стороне клиента? –
Да, конструкторы находятся в JavaScript как часть определения всего класса (если можно применить «класс» к функциям JavaScript – Budda