Я видел похожие вопросы, но не смог их реализовать. Прости мою неадекватность Я пытаюсь использовать массив объектов в интерфейсе внутри тега сценария. Мой бэкэнд - это узел и база данных мангуст. Фронт-энд, я использовал шаблон руля с сырой JS. Мой код конца:
UnitType.find()
.where({ type: type })
.select("-_id")
.exec()
.then(doc=> {
var unit_types = doc;
res.render('single-unit', {
unit_types: unit_types,
});
});
Front-End Я использовал подобные unit_types -
{{#each unit_types}}
<tr>
<td width="40%">{{this.name_plural}}</td>
<td width="60%">{{this.name_singular}}</td>
</tr>
{{/each}}
В теге сценария -
<script>
var unit_types = [{{unit_types}}] // [{{{unit_types}}}]
<script>
Я использую скрипт для манипулирования данными. Мои данные будут как -
[
{name_singular:"foot",name_plural:"feet"},
{name_singular:"yard",name_plural:"yards"},
..... // etc.
]
Который работает нормально. Проблема Я сталкиваюсь с двумя проблемами: одна, если я беру _id
из запроса, это вызывает синтаксическую ошибку внутри <script>
. Во-вторых, я использую функцию, чтобы сделать первую букву каждого свойства заглавными. Как это в конце -
var unittypes =doc.map(v => {
return {
name_singular_up: ucfirst(v.name_singular),
name_singular: v.name_singular,
name_plural_up: ucfirst(v.name_plural),
name_plural: v.name_plural,
}
Если я отправляю вот так, то снова внутри <script>
снова выдается синтаксическая ошибка, показывая [Object object]
в элементе chrome. Но данные в шаблоне работают правильно. Я нашел рабочий метод, используя ajax.get
. Но я бы хотел сделать это без использования ajax
. Что я здесь не так делаю?
Заранее спасибо.