当我尝试向我的网站添加新的博客文章时,我不断收到此错误:类型错误: C:\Users\shruti\Desktop\ejs-challenge\views\home.ejs:15 13|14| <p>15| <%= post.content.substr(0, 100) %>16| <a href="/posts/<%=post._id%>">Read More</a>17| </p>18| <% })%>无法在数组的 eval 处读取未定义的属性“substr”(编译时的 eval (C:\Users\shruti\Desktop\ejs-challenge\node_modules\ejs\lib\ejs.js:618:12),:22:39) .forEach () at eval (eval atcompile (C:\Users\shruti\Desktop\ejs-challenge\node_modules\ejs\lib\ejs.js:618:12), :16:14) at returnedFn (C:\用户\shruti\Desktop\ejs-challenge\node_modules\ejs\lib\ejs.js:653:17) 在tryHandleCache (C:\Users\shruti\Desktop\ejs-challenge\node_modules\ejs\lib\ejs.js: 251:36) 在 View.exports.renderFile [作为引擎] (C:\Users\shruti\Desktop\ejs-challenge\node_modules\ejs\lib\ejs.js:482:10) 在 View.render (C:\用户\shruti\Desktop\ejs-challenge\node_modules\express\lib\view.js:135:8) 在 tryRender (C:\Users\shruti\Desktop\ejs-challenge\node_modules\express\lib\application.js: 640:10) 在 Function.render (C:\Users\shruti\Desktop\ejs-challenge\node_modules\express\lib\application.js:592:3) 在 ServerResponse.render (C:\Users\shruti\Desktop\ejs-challenge\node_modules\express\lib\response .js:1008:7) 位于 C:\Users\shruti\Desktop\ejs-challenge\app.js:35:9 位于 C:\Users\shruti\Desktop\ejs-challenge\node_modules\mongoose\lib\model。 js:4846:16 在 C:\Users\shruti\Desktop\ejs-challenge\node_modules\mongoose\lib\model.js:4846:16 在 C:\Users\shruti\Desktop\ejs-challenge\node_modules\mongoose\ lib\helpers\promiseOrCallback.js:24:16 位于 C:\Users\shruti\Desktop\ejs-challenge\node_modules\mongoose\lib\model.js:4869:21 位于 C:\Users\shruti\Desktop\ejs-挑战\node_modules\mongoose\lib\query.js:4397:11js:35:9 在 C:\Users\shruti\Desktop\ejs-challenge\node_modules\mongoose\lib\model.js:4846:16 在 C:\Users\shruti\Desktop\ejs-challenge\node_modules\mongoose\ lib\model.js:4846:16 在 C:\Users\shruti\Desktop\ejs-
4 回答
开满天机
TA贡献1786条经验 获得超13个赞
错误消息显示“无法读取”'substr'
的undefined
属性,这意味着post.content
它位于循环undefined
内posts.forEach()
。尝试记录post
并检查其内容。
牛魔王的故事
TA贡献1830条经验 获得超3个赞
您的数据库中可能有空post.content
值,当 forEach 循环检索它们时,函数无法读取“未定义”的属性,意味着空值。搜索数据库以找到此空/空内容字段并更新或删除它们。
青春有我
TA贡献1784条经验 获得超8个赞
我解决了你的问题,最简单的解决方案是将括号放在 post.content 之间并以这种方式构建它:
<%= (post.content).substr(0, 100) %>
我自己尝试过,它有效,享受学习
添加回答
举报
0/150
提交
取消