在expressjs中更改res.redirect的url

app.get('/logout', function (req, res){ req.url='/'; console.log('req.url is ' + req.url); req.session.state = null; res.redirect('/login'); }); 

redirect后,“url”保持不变。 我希望它也改变它。 我试图使用req.url。 但它不反映在url栏上。 你怎么改变这个?

注意: – 我正在使用Angularjs路由,所以res.redirect不会自动更新url。

编辑: – angular码: –

 $http({method: 'GET', url: '/logout'}). success(function(data, status, headers, config) { console.log('happened'); }). error(function(data, status, headers, config) { // called asynchronously if an error occurs // or server returns response with an error status. }); 

默认情况下, res.redirect将使用您调用该函数的URL发送一个带有302状态码和一个位置标题的响应。 所以在你的情况下是这样的:

 HTTP/1.1 302 Location: http://example.com/login/ 

你将需要在AngularJS端处理这个来改变URL。