SailsJS / Vue / Node:发送到EJS页面时变量未定义

时间:2018-08-25 13:24:49

标签: node.js sails.js ejs

这有点奇怪,我认为这是一个基本的语法错误,但我似乎无法将其固定下来。

我已经成功地将我的控制器放置在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>

页面加载后,我看不到任何反对“欢迎声音”或“向其他人显示个人资料?”的文字。行,但是当我仅显示“个人资料”而不引用“用户ID”行中的字段时,页面上将显示以下HTML:

Personal photo:

Show profile to others?:

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

值得指出的是,当我进行一些查询时,所有字段都被列为“未定义”,即使它们按上面显示。

所以我的问题很简单-如何在不显示所有JSON格式的情况下从显示的字段中获取值?

1 个答案:

答案 0 :(得分:0)

好吧,经过更多的反复试验后,我意识到发生了什么事,因为我正在向页面发送数组。

当我从数据库中调整搜索结果以使用.findOne()方法而不是.find()时,数据将根据需要显示(即仅一条记录),并且上面的代码可以正常工作。