SailsJS / Vue / Node: переменная undefined при отправке на страницу EJS - PullRequest
0 голосов
/ 25 августа 2018

Это немного странно, и я думаю, что это основная синтаксическая ошибка, но я не могу ее точно определить.

Я успешно получил свой контроллер в Sails (NodeJS), отправляющий JSON в представление (файл EJS). Это объект с именем «Профиль» (извлечен из БД, к которой я подключен и работаю).

JSON, который получает моя страница, выглядит следующим образом:

[{
"personal_photo_url": "bing.jpg",
"show_profile": false,
"id": 1
}]

Соответствующий фрагмент кода в моем файле .ejs (просмотр) выглядит следующим образом:

<h3>Personal photo: {{profile.personal_photo_url}}</h3>  
<h3>Show profile to others?: {{ profile.show_profile }}</h3>
<h3>User ID:{{ profile }}</h3>

Когда страница загружается, я не вижу никакого текста с "приветственным звуком" или "показывать профиль другим?" однако, когда я просто показываю «профиль» без ссылки на поля в строке «ИД пользователя», я получаю следующий HTML-код, отображаемый на странице:

Personal photo:

Show profile to others?:

User ID: [ { "personal_photo_url": "bing.jpg", "show_profile": false, "id": 1 } ]

Стоит отметить, что, когда я выполняю некоторые запросы, все поля отображаются как «неопределенные», даже если они показаны выше.

Так что мой вопрос довольно прост - как мне получить значения из этих полей, отображаемых без всего форматирования JSON?

1 Ответ

0 голосов
/ 25 августа 2018

Хорошо, после еще нескольких проб и ошибок я понял, что произошло, что я отправлял массив на страницу.

Когда я настроил свой результат поиска из базы данных, чтобы использовать метод .findOne () вместо .find (), данные были представлены так, как мне нужно (то есть только одна запись), и мой код выше работал отлично.

...