Tag: redirect

redirect从Node.JS服务器路由不会呈现下一页

嗨,我有一个反应组件呈现这样的forms: <form onSubmit={this.onSubmit}> <!– a bunch of inputs here –> </form> 函数onSubmit()向axios发出post请求/results : handleSubmit(e) { var self = this; e.preventDefault(); const {value1, value 2, ….} = this.state; axios.post('/results', { key1 : value1, key2 : value2, etc. }).then(function(response) { if (errors) { self.setState({errors: response.data.errorMessage}); } }).catch(function(error){ console.log(error); }); } 我有一个在我的server.js的post请求的路由处理程序,它将表单中的数据插入到数据库中。 如果有错误,那么它会将这些数据发送回客户端,否则应该redirect到结果页面。 处理程序看起来像这样: app.post('/results', function(req, res, next) […]

如何在Node.js + Express中redirect嵌套的URL

我试着做一个模块,redirect旧的url到Node.JS + Express的新的: app.get('/category1', function (req, res){ res.redirect('/category2', 301) }) – 正常工作。 但是当我们到/category1/subcategory它不会redirect到/category2/subcategory 如何做这个redirect规则就像在Apache的.htaccess中: RewriteRule ^category1/(.*)$ category2/$1 [R,NC,L] 例如 /category1 -> /category2 /category1/ -> /category2/ /category1/2/3/ -> /category2/2/3/ /category1/2/?a=1&b=2 -> /category2/2/?a=1&b=2

Node.js和haproxy

我使用node.js和socket.io。 我有一个运行在IP地址:31.31.69.79:3000的应用程序 我有一个域名:zkus.eu – 我想redirect这个域名到这个IP:31.31.69.79:3000 如何设置haproxyconfiguration(haproxy.cfg)?

页面呈现数据后res.redirect不工作

我有一个简单的忘记密码的function,当用户请求更改密码时,他会收到带有令牌的电子邮件,并点击它的电子邮件,他将被redirect到一个将使用新密码的页面。 我所做的是当我点击电子邮件中的一个链接时,服务器获取请求,一个函数将数据从链接中提取出来(使用res.render),然后redirect到渲染的页面。 我面临的问题是当我点击链接时,我正在获取数据和页面呈现,但我不能让res.redirect()工作。 我的链接看起来像这样 http://localhost:3000/api/resetpassword?_csrf=ab8aa6a41567f817330e3e0a214725f8b2f88b487d5bef16f162e033c6a63dc41933511ddb79cb44ca049f472b3e0c593dbbaf&email=dummyEmail%2540dumyurl.ca 然后我使用app.get()获取服务器上的请求。 app.get('/api/resetpassword', Admin.resetPasswordPage); 我的渲染和redirectfunction看起来像这样; resetPasswordPage: function (req, res, next) { req.query.email = decodeURIComponent(req.query.email) ; res.render('resetPassword', { Email: req.query.email, Csrf : req.query._csrf, }, function (err, html) { console.log("TESTING HTML ", html); if (!err) res.redirect("/resetPassword"); }); } 由于我在HTML参数中获取了完整的HTML页面,所以渲染成功,但问题是如何redirect到该页面。 该页面是在EJS和它的视图文件夹。

在node.js中redirect到不同的位置和端口

要将用户redirect到不同的页面,我们通常会: res.writeHead(302, { Location: '/test' }); res.end(); 如果我想在不同的端口上redirect他,该怎么办? 我试图添加一个字段“端口”,但似乎没有工作。

快速jscaching索引页面

我使用express.js在节点中创build了一个身份validation系统。 它工作正常,但是当我尝试注销,我redirect到索引页面。 “本地主机:3100 /”。 当我到那里时,有时会显示caching的状态为login状态,有时则显示新的刷新页面。 如果刷新页面,一切都恢复正常。 如果我redirect到一个不同的页面,那么它工作正常。 是否索引页特别是,该应用程序正在呈现caching版本。 这主要是当我改变基于res.locals.currentUser的内容时发生的。 currentUser正在被设置在中间件中。 在Navbar中,我使用这个<%if(currentUser)%> <%} else {%> <%}%>。 所以在redirect时,有时会刷新,有时候会使用caching视图。 另外我正在使用express.js 3。

redirect本地主机而不是myserver.org:3000/login/callback

被redirect到我的本地主机服务器,而不是 myserver.org:3000/login/callback 至 本地主机:3000 /login/callback 不明白为什么,从哪里 这里是我的代码的一部分: app.get('/', function(req, res){ res.render('index', { user: req.user }); }); app.get('/account', ensureAuthenticated, function(req, res){ res.render('account', { user: req.user }); }); app.get('/login', passport.authenticate('saml', { failureRedirect: '/', failureFlash: true }), function(req, res) { console.log('so far worked out – =) 2'); res.redirect('/'); } ); console.log('so far worked out – =) 1'); app.post('/login/callback', […]

节点应用程序:Http到httpsredirect不适用于本地主机

我将HTTPS添加到node.js应用程序,同时将HTTP转发到HTTPS。 我正在使用下面的代码: // Trusting proxy self.app.enable('trust proxy'); // Http -> Https redirection middleware self.app.use(function (req, res, next) { var schema = req.protocol.toLowerCase(); console.log("Redirection check, schema: " + schema); if (schema === 'https') { console.log("Next"); next(); } else { var tmp = 'https://' + req.headers.host + req.url; console.log("Redirect to: " + tmp); res.redirect(tmp); } }); 当我浏览https://localhost:8443/index.html […]

使用中间件redirect节点js太多redirect

在我的Node.js应用程序(我使用Express 4.x)我想检查用户是否login。 如果用户没有login,我想redirect到我的login页面。 然后我在中间件中这样做: Server.js app.use(function (req, res, next) { // if user is authenticated in the session, carry on if (req.isAuthenticated()) return next(); // if they aren't redirect them to the home page res.redirect('/login'); }); login路线 // Login page app.get('/login', function(req, res){ res.render('pages/login', { error : req.flash('loginError'), info : req.flash('info'), success : req.flash('success') }); […]

HTTP在不同的端口redirect到HTTPS

我正在尝试将每个http请求redirect到https服务器。 如果https服务器的端口是443, 这工作正常 。但是,如果我尝试redirect到不同的端口,它不会发生。 这是我的代码: http.createServer(function(req,res){ var host = req.headers['host'], url = req.url; res.writeHead(301, {"Location": "https://" + host + ":"+SERVER.SPORT + url}) res.end() }).listen(SERVER.PORT) https.createServer(SERVER.HTTPS_OPTIONS,app).listen(SERVER.SPORT)