慕標琳琳
2023-09-21 14:14:02
當我嘗試向我的網(wǎng)站添加新的博客文章時,我不斷收到此錯誤:類型錯誤: 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| <% })%>無法在數(shù)組的 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-挑戰(zhàn)\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條經(jīng)驗 獲得超13個贊
錯誤消息顯示“無法讀取”'substr'
的undefined
屬性,這意味著post.content
它位于循環(huán)undefined
內(nèi)posts.forEach()
。嘗試記錄post
并檢查其內(nèi)容。

牛魔王的故事
TA貢獻1830條經(jīng)驗 獲得超3個贊
您的數(shù)據(jù)庫中可能有空post.content
值,當 forEach 循環(huán)檢索它們時,函數(shù)無法讀取“未定義”的屬性,意味著空值。搜索數(shù)據(jù)庫以找到此空/空內(nèi)容字段并更新或刪除它們。

Qyouu
TA貢獻1786條經(jīng)驗 獲得超11個贊
要解決此問題,您必須刪除 MongoDB BlogDB 表。發(fā)生此問題的原因是第一行/寄存器上有一個未定義的變量 (post.content)。

青春有我
TA貢獻1784條經(jīng)驗 獲得超8個贊
我解決了你的問題,最簡單的解決方案是將括號放在 post.content 之間并以這種方式構(gòu)建它:
<%= (post.content).substr(0, 100) %>
我自己嘗試過,它有效,享受學(xué)習(xí)
添加回答
舉報
0/150
提交
取消