亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法讀取 ejs 中未定義的屬性“子字符串”

無法讀取 ejs 中未定義的屬性“子字符串”

慕標琳琳 2023-09-21 14:14:02
當我嘗試向我的網站添加新的博客文章時,我不斷收到此錯誤:類型錯誤: 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它位于循環undefinedposts.forEach()。嘗試記錄post并檢查其內容。



查看完整回答
反對 回復 2023-09-21
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

您的數據庫中可能有空post.content值,當 forEach 循環檢索它們時,函數無法讀取“未定義”的屬性,意味著空值。搜索數據庫以找到此空/空內容字段并更新或刪除它們。



查看完整回答
反對 回復 2023-09-21
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

要解決此問題,您必須刪除 MongoDB BlogDB 表。發生此問題的原因是第一行/寄存器上有一個未定義的變量 (post.content)。


查看完整回答
反對 回復 2023-09-21
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

我解決了你的問題,最簡單的解決方案是將括號放在 post.content 之間并以這種方式構建它:

<%= (post.content).substr(0, 100) %>

我自己嘗試過,它有效,享受學習


查看完整回答
反對 回復 2023-09-21
  • 4 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號