CNode

posts is not defined,怎么解决呢?

Wwangxuq发布于12 年前最后回复12 年前8 回复9073 浏览0 收藏

错误如下: 500 ReferenceError: E:\nodejs\lianxi\microblog\views\index.ejs:1 >> 1| <%if(!user){%> 2| 3| 歡迎來到 Microblog 4| Microblog 是一個基於 Node.js 的微博系統。 posts is not defined

1| <%if(!user){%> 2| 3| 歡迎來到 Microblog 4| Microblog 是一個基於 Node.js 的微博系統。 posts is not defined at eval (eval at (E:\nodejs\lianxi\microblog\node_modules\ejs\lib\ejs.js:242:14), :32:32) at eval (eval at (E:\nodejs\lianxi\microblog\node_modules\ejs\lib\ejs.js:242:14), :35:23) at eval (eval at (E:\nodejs\lianxi\microblog\node_modules\ejs\lib\ejs.js:242:14), :35:630) at E:\nodejs\lianxi\microblog\node_modules\ejs\lib\ejs.js:255:15 at Object.exports.render (E:\nodejs\lianxi\microblog\node_modules\ejs\lib\ejs.js:293:13) at View.exports.renderFile [as engine] (E:\nodejs\lianxi\microblog\node_modules\ejs\lib\ejs.js:323:20) at View.render (E:\nodejs\lianxi\microblog\node_modules\express\lib\view.js:76:8) at Function.app.render (E:\nodejs\lianxi\microblog\node_modules\express\lib\application.js:504:10) at ServerResponse.res.render [as partial] (E:\nodejs\lianxi\microblog\node_modules\express\lib\response.js:798:7) at ServerResponse.res.render (E:\nodejs\lianxi\microblog\node_modules\express-partials\index.js:58:9)

index.ejs代码如下: <%if(!user){%>

查看回复

回复 (8)

D
dukaialone#1·12 年前

nodejs的这种报错不一定是posts undefined 而是你页面中存在其他问题 比如说 JS没加载 或者模板渲染出错等。他都会报这个问题

W
wangxuq#3·12 年前
引用 rekey可能是没数据。。。也可能在哪里被重置了。。。基础知识啊。。。

终于解决了,这个原因是因为在index.js里面需要将posts:posts放进那个render()里面,这样才能够在后面的ejs里面调用。之前没有注意这个问题,昨天忽然想明白了。。。

J
jintaolee#4·12 年前

首先看下res.render('login',{ posts:posts });有木有?其次看下渲染页面上有没有写错

W
wangxuq#5·12 年前
引用 jintaolee首先看下res.render('login',{ posts:posts });有木有?其次看下渲染页面上有没有写错

有这个代码,渲染页面就是上面那个index.ejs app.get('/',function(req,res){ Post.get(null,function(err,posts){ if(err){ posts=[]; } res.render('index',{ title:'首页', posts:posts, }); }); });

W
wangxuq#7·12 年前
引用 dukaialonenodejs的这种报错不一定是posts undefined 而是你页面中存在其他问题 比如说 JS没加载 或者模板渲染出错等。他都会报这个问题

ReferenceError: E:\nodejs\lianxi\microblog\views\index.ejs:3 1| 2|

3| 4| 5| 6| <%include header.ejs%>

posts is not defined at buf.push. .buf.push. .

R
rekey#8·12 年前

可能是没数据。。。也可能在哪里被重置了。。。基础知识啊。。。

参与回复
登录后即可参与回复。登录