报错:has no method 'redircet', 求思路。
发布于 2年前 作者 papaivan 2179 次浏览

在测试两次密码不一致的case中就报错了,错误信息下面。

code

exports.reg = function(req, res){
  res.render('reg', {title: '用戶註冊'});
};
exports.doReg = function(req, res){
 if (req.body['password-repeat'] != req.body['password'])
 {
   req.session.error = '兩次輸入的口令不一致';
   return res.redircet('/reg');

error info

TypeError: Object #<ServerResponse> has no method ‘redircet’ at exports.doReg (/home/xxx/Project/nodeJs/microblog/routes/index.js:90:15) at callbacks (/home/xxx/Project/nodeJs/microblog/node_modules/express/lib/router/index.js:165:11) at param (/home/xxx/Project/nodeJs/microblog/node_modules/express/lib/router/index.js:139:11) at pass (/home/xxx/Project/nodeJs/microblog/node_modules/express/lib/router/index.js:146:5) at Router._dispatch (/home/xxx/Project/nodeJs/microblog/node_modules/express/lib/router/index.js:173:5) at Object.router (/home/xxx/Project/nodeJs/microblog/node_modules/express/lib/router/index.js:33:10) at next (/home/xxx/Project/nodeJs/microblog/node_modules/express/node_modules/connect/lib/proto.js:190:15) at Object.handle (/home/xxx/Project/nodeJs/microblog/app.js:35:5) at next (/home/xxx/Project/nodeJs/microblog/node_modules/express/node_modules/connect/lib/proto.js:190:15) at store.get.next (/home/xxx/Project/nodeJs/microblog/node_modules/express/node_modules/connect/lib/middleware/session.js:302:9) POST /reg 500 16ms

13 回复

停一停,想一想 仔细看看出错信息,别没事跑上来乱吼

这不是事么? 照你这么说,我们这些技术差的新人就不要发贴了。

暂时用这个方法来替代一下可以通过case。 但顶楼的问题根源还没头绪。

if (req.body[‘password-repeat’] != req.body[‘password’]) { req.session.error = '兩次輸入的口令不一致’; //return res.redircet(‘/reg’);

var redirect = function(redirectionURL){ res.writeHead(302, {’location’:redirectionURL}); res.end(); } return redirect(‘/reg’); }

@papaivan 您老仔细看看 redircetredirect 有什么区别么? 新人不是问题,问题是你两这点都分不清楚,还是别做程序员了,这个很苦逼的

@leizongmin 恩,你直接说不行么。 新人也不能这么对待啊。

@papaivan 这个会养成习惯的,不骂不行

雷哥已经说的很清楚了~~ 是 res.redirect, 不是 res.redircet

呵呵,我也经常遇到这样的问题,代码敲多了很容易出错,log里面都会打印出来。

很典型的一个例子。

大家都从新人过来的,可能也都经历过这种事情,辛辛苦苦调试了一天原来就写错了一个函数名称。调试技巧需要学习,比如加log,再比如多review几遍代码》

OK。我要说的是,对于一个普及宣传讨论新技术的社区来讲,不应该这么一种情况,“没事别跑上来乱吼”“别做程序员了,很苦逼”。问题没解决不说,打击人的积极性,更让人有些心伤哪。任何一个人被人这么对待,估计都会郁闷个一天。

新人需要鼓励,外加指导和教育,大牛们看不过眼这种问题,自个go away就成了。。

希望社区管理员能重视起来。社区需要热心人,哪怕你是很大的牛,也请不要对待这么一个热心的。

  • 这个问题其实与是否新手没多大关系的。按照我自己的思路,若提示**“has no method ‘redircet’”,直接从之前看的资料中复制那个redirect**单词过来,一看就能分辨出来了。
  • 至于**“没事别跑上来乱吼”这句,我原意是想表达,不要太过于依赖社区,很多问题其实与技术、经验等无关的,养成好的习惯**,细心点看其实就可以解决掉了。而当养成了这个严重依赖社区的习惯时,很多时候一有问题自己也不多想就直接上来问了;
  • 我承认其实我有强迫症

你好,我是初学node.js,最近也在弄开发指南那个例子,看到你曾经做过,所以想请教你个问题,希望能跟你学习学习: if (req.body[‘password-repeat’] != req.body[‘password’]) { req.flash(‘error’,’两次输入的口令不一致’); //console.log(‘两次输入的口令不一致’); return res.redirect(‘/reg’); } req.flash(‘error’,’两次输入的口令不一致’);这句不执行,我在app.js中添加了这个connect-flash包的引用,在configure中配置了flash,不知道为何还无法运行?请指教~谢谢~

回到顶部