如何在使用passport和backbone.js进行身份验证后向模型发送响应

8hhllhi2  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(90)

为了进行身份验证,我已经从backbone.js向服务器发送了如下post请求:

model.save({"email":"sil@gmail.com","password":"silvester"}, {
   successs:function(model,res){

   },
   error:function(){

   }
});

我在服务器端收到了这样的消息:

app.post('/login', passport.authenticate('local', {
    successRedirect: '/mainpage',
    failureRedirect: '/login'
}));

在上面的代码中,如果身份验证成功,我将重定向到主页,然后我尝试显示另一个html页面,如下所示:

app.get('/mainpage',function(req,res) {
    console.log("mainpage");
    res.sendfile('/mainpage.html');
});

在重定向主页后,我得到了控制台结果,但我无法重定向到另一个网页。如何解决这个问题,然后无论如何都要发送响应,只为后请求(上述职位要求)。如果我发送对post请求响应,我可以很容易地在success函数中接收到该响应,然后我可以继续我的工作,但是在Passport中只有redirect选项,因此它将转到另一个get请求,从这里我如何发送响应到前端?2我在哪里可以接收?3那么如何发送响应而不重定向?4如何解决这个问题?

p8h8hvxi

p8h8hvxi1#

model.save将向您的服务器发出 AJAX 请求。
我想当你做res.sendfile('/mainpage.html');的时候,它会在 AJAX 响应中返回html页面。你能在浏览器的开发者控制台中检查吗?
你应该检查一下,如果请求是 AJAX ,那么返回一个401 http状态代码,并在客户端使用window.location="/mainpage.html"进行重定向

xmjla07d

xmjla07d2#

它可能会帮助您响应相同发布请求
app.post,护照,身份验证,本地,{失败重定向:“/登录”}),函数(请求,资源){资源重定向(“/mainpage”);});

相关问题