Articles of redirect

使用Express的Node.js:如何redirectPOST请求

我想从一个URL请求redirect到另一个'POST'请求,如下所示: var app = require('express')(); app.get('/', function(req, res) { res.redirect('/test'); }); app.post('/test', function(req, res) { res.send('/test page'); }); app.listen(3000, function() { console.log('listenning on port:3000'); }); 但是,我不能redirect到'/ test'页面,因为这是一个POST请求。 那么我该怎么做才能使redirect工作,保持“/testing”请求POST?

redirectNode.js和angular度

我无法尝试使用Node.js,Express和angularredirectPOST请求。 我知道有一个使用forms的标准方式如下: index.ejs <!DOCTYPE html> <html> <head> <title>Redirect Example</title> </head> <body> <p>INDEX PAGE</p> <form action="/redirect" method="post"> <button type="submit">CLICK</button> </form> </body> </html> test.ejs <!DOCTYPE html> <html> <head> <title>Redirect Example</title> </head> <body> <p>YAY REDIRECTED</p> </body> </html> app.js var fs = require('fs'); var https = require('https'); var express = require('express'); var bodyParser = require('body-parser'); var cookieParser = require('cookie-parser'); […]

激活CloudFlare时redirect循环

我试图把我的网站放在CloudFlare的后面,但不幸的是,当我激活CloudFlare时,我开始得到一个redirect循环(我正在使用Chrome)。 我试图按照build议清除cookie,但是这并不能解决问题,而且当CloudFlare未激活时,我没有遇到这个问题。 是什么导致这个以及如何在我的node.js应用程序中解决它?

“这是不允许的,需要预检的错误”在护照Facebooklogin错误的交叉来源?

我有一个node.js快递应用程序,它提供了RESTful API,我使用的是用于Facebook身份validation的护照。 我启用了服务器端的所有CORSconfiguration,并能够通过jQuery Ajax使用API​​。 但是对于Facebook身份validation,我收到以下错误: XMLHttpRequest cannot load http://localhost:3000/auth/facebook. The request was redirected to 'https://www.facebook.com/dialog/oauth?response_type=code&redirect_uri=http%…_me%2Cuser_checkins%2Cuser_likes&client_id=12345678&type=web_server', which is disallowed for cross-origin requests that require preflight. / auth / facebook端点是这个。 app.get('/auth/facebook', passport.authenticate('facebook', { scope: ['email', 'user_about_me', 'user_checkins', 'user_likes'], failureRedirect: users.authFailCallback }), users.signin); 所以基本上它被redirect到Facebook的API(302),它不允许CORS。 有什么办法可以解决这个问题吗? 或者我需要从服务器端本身调用Facebook API?

Chrome在redirect后不会发送Cookie

在node.js(使用Hapi框架)我创build用户的链接,以允许我的应用程序读取用户帐户。 Google处理该请求并询问授予权限。 然后谷歌使用GET参数作为响应代码redirect到我的服务器,在这里我有一个问题。 谷歌浏览器不会发送带有会话ID的cookie。 如果我在cookie编辑扩展中将该cookie标记为会话cookie,则会发送该cookie。 同样的行为在PHP中,但PHP创build会话时标记为会话,所以这不是问题。 我正在使用插件hapi-auth-cookie,它会创build会话并处理它的一切。 我也将这个cookie标记为非HttpOnly的hapi-auth-cookie设置,因为这是第一个区别,我注意到,当检查PHP会话cookie和我的node.js。 我有响应401缺less身份validation每个redirect。 如果我把光标放在地址栏并按回车,一切正常,所以这是一个redirect的问题。 我的问题基本上是什么可能导致这种行为。 另一方面,我不得不提到,每次请求后,firefox都会发送cookie而不会有任何问题。 redirect后的标题(没有会话的cookie): { "host": "localhost:3000", "connection": "keep-alive", "cache-control": "max-age=0", "upgrade-insecure-requests": "1", "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36", "x-client-data": "CJS2eQHIprbJAQjEtskECKmdygE=", "x-chrome-connected": "id=110052060380026604986,mode=0,enable_account_consistency=false", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding": "gzip, deflate, sdch, br", "accept-language": "pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4" } 点击后进入地址栏(什么会正常工作): { "host": "localhost:3000", "connection": "keep-alive", […]

如何redirect到node.js中的另一个页面

我有一个login和注册页面。 当随机用户想要login,并login成功,我想redirect他到另一个.ejs页面(例如UserHomePage.ejs),但是,我已经尝试过没有任何工作到目前为止。 if (loggedIn) { console.log("Success!"); res.redirect('/UserHomePage'); } else { console.log("Error!"); } 我也想知道,如何redirect用户点击button。 让我们说在即时通讯显示用户页面,我显示所有的用户,然后有“添加另一个使用的button”。 我怎么做? 如何在onclick后将用户redirect到Register.js页面? <h2>List of users</h2> <ul> <% uporabniki.forEach(function(user) { %> <li> <%= user.attributes.name %> <%= user.attributes.last name %> </li> <% }); %> </ul> <h3>Add another user</h3> <form method="post"> <input type="submit" value="Add user" /> </form> 非常感谢你!

node.js中位置和redirect之间的区别

什么是res.location()方法的用法? 我可以使用res.redirect()redirect到一个特定的URL,我不能看到任何改变,如果我使用res.location()之前res.redirect()

hapi.js – 404路由VS静态文件路由

我正尝试将我的Express应用程序迁移到hapi.js,并且遇到了我的路线问题。 我只想要2 GET:我的索引'/',和不是'/'的所有东西都redirect到'/'。 使用Express我有这样的: // static files app.use(express.static(__dirname + '/public')); // index route app.get('/', function (req, res) { // whatever } // everything that is not / app.get('*', function(req, res) { res.redirect('/'); }); 我有问题与hapi.js获得相同的行为。 我的“静态路”如下所示: server.route({ method: 'GET', path: '/{path*}', handler: { directory: { path: 'public', listing: false } } }); 而我的“404路”则是: server.route({ method: 'GET', […]

链接Express.js 4的res.status(401)redirect

如果请求用户没有通过身份validation,我想发送一个响应代码401,但是我也想在请求是HTML请求时redirect。 我一直在发现,Express 4不允许这样做: res.status(401).redirect('/login') 有谁知道一个办法来处理这个? 这可能不是Express的限制,因为我要求基本上传递两个头文件,但我不明白为什么应该如此。 我应该能够传递“未经身份validation的”响应,并一次性redirect用户。

如何在Node.js / Express中redirect(301)?

我有一个静态网站,一个简单的单页面布局,我部署在Dokku。 我需要redirect(301)从www到非www和从*.website1.com到website2.com ,但我不知道如何。 我试图在npm中使用express-force-domain,但是它使得我的URL变得疯狂并且有一些redirect循环,我尝试了在网上find的其他方法,但都没有成功。 我的server.js是: var express = require('express') var app = express(); app.set('port', (process.env.PORT || 80)) app.use(express.static(__dirname + '/public')) app.get('/', function(request, response) { response.send('Hello World!') }) app.listen(app.get('port'), function() { console.log("Node app is running at localhost:" + app.get('port')) }) 这是有用的版本,但没有redirect。