【问题标题】:SailsJS / Vue / Node: variable undefined when sending to an EJS pageSailsJS / Vue / Node:发送到 EJS 页面时未定义变量
【发布时间】:2019-01-31 17:15:58
【问题描述】:

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

我已经成功地让我的控制器在 Sails (NodeJS) 中发送一些 JSON 到视图(一个 EJS 文件)。这是一个名为“Profile”的对象(从我已连接并正在工作的数据库中提取)。

我的页面收到的 JSON 如下所示:

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

我的 .ejs 文件(视图)上的相关代码 sn-p 如下所示:

<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 格式的情况下从这些字段中获取值?

【问题讨论】:

    标签: node.js sails.js ejs


    【解决方案1】:

    好的,经过更多的尝试和错误,我意识到发生的事情是我正在向页面发送一个数组。

    当我从数据库调整我的搜索结果以使用 .findOne() 方法而不是 .find() 时,数据会根据我的需要呈现(即只有一条记录),并且我上面的代码运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 2018-06-03
      • 2019-05-10
      • 2014-12-01
      相关资源
      最近更新 更多