大佬教程收集整理的这篇文章主要介绍了Node.js / Express:POST变为GET(代码302),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<form id='loginForm' action='/login' method='post'> <table> <tr> <td><input type='text' name='username' /></td> </tr> <tr> <td><input type='text' name='password' /></td> </tr> <tr> <td><button type='submit'>Submit</button></td> </tr> </table> </form>
这是我设置的路线:
// Express 4 var router = express.Router(); router.get('/login',function(req,res) { res.render('./login.hbs',{ message: req.flash('loginmessage') }); }); router.post('/login',passport.authenticate('local-login',{ successRedirect: '/welcome',failureRedirect: '/login',failureFlash : true })); passport.use('local-login',new LocalStrategy( { usernameField: 'email',passwordField: 'password',passReqToCallBACk : true },email,password,next) { User.findOne({ 'authLocal.email' : email },function(err,user) { console.log('Inside local-login strategy with findOne A'); [snip]
我在res.render上为GET / login和本地登录策略中的findOne()调用设置了一个断点.当我单击“提交”按钮时,捕获事物的断点位于router.get()代码中.
在调试器中,req.method是GET.
在浏览器(ChromE)中,我被告知我正在对返回302的/登录进行POST.还有一个待处理的GET /登录,带有200个代码.这两个代码(302,200)是调试器在router.get()中停止的时间.即使清除浏览器缓存也无济于事.
有人能告诉我为什么我的POST请求没有被尊重?
以上是大佬教程为你收集整理的Node.js / Express:POST变为GET(代码302)全部内容,希望文章能够帮你解决Node.js / Express:POST变为GET(代码302)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。