无法重定向到另一个HTML页面

时间:2018-09-15 15:37:05

标签: javascript html node.js

var express = require('express')
var app = express()
var server = require('http').createServer(app)
app.use(function (req, res, next) {
  var nodeSSPI = require('node-sspi')
  var nodeSSPIObj = new nodeSSPI({
    retrieveGroups: true
  })
  nodeSSPIObj.authenticate(req, res, function(err){
    res.finished || next()
  })
})
app.use(function(req, res, next) {
  id  = req.connection.userSid
  res.redirect('Full_Name.html')
  res.send
})
// Start server
var port = process.env.PORT || 3000
server.listen(port, function () {
  console.log('Express server listening on port %d in %s mode', port, app.get('env'))
})

我是node.js的新手。成功登录后,我试图重定向到页面。但面临错误

  

本地主机将您重定向了太多次。

,我不知道为什么,但是与其他浏览器相比,此javascript在firefox上的表现并不相同。 我只想在成功登录后重定向到Full_Name.html页。

3 个答案:

答案 0 :(得分:0)

是的,您使用an express.js middleware时没有路由或没有任何特定处理,这意味着重定向发生在所有已注册的路由上。

您可以将特定路由的重定向指定为:

app.use('/redirect_me', function (req, res, next) {
  // This middleware is triggered across all methods
  // POST, GET, PUT etc;
  res.redirect('Full_Name.html');
});

答案 1 :(得分:0)

您必须重定向到路由而不是页面:

app.use(function(req,res,next){
id  = req.connection.userSid;
// do some check
res.redirect('/your-target-route');
next();
})

app.get('/your-target-route',function(req,res){
res.send('Full_Name.html');
});

答案 2 :(得分:0)

使用此

app.get('/Full_Name', function(req, res) {
  res.sendFile(__dirname + "/public/Full_Name.html"); //path to ur file
});



res.redirect("/Full_Name");   //use wherever required

//You need to redirect the user to a webpage and not a file