我有一个问题,在我的应用程序,我无法解决
首先我的应用程序:
节点js 0.8.14快速3.1护照-本地0.1
问题是当我登录passport会话时,客户端两次请求该页面...
我发现这是因为我把一个请求变量放在url中
这在我的路由器
exports.index=function(req,res)
{
console.log('success: '+req.url);
var sesion_usuario=validate(req.params.code_user);//if not valid return null
if(sesion_usuario){
res.render('logged',{title:'Hello'+sesion_usuario})
在我的浏览器中
http://localhost:8000/YOGE7419
在我的应用程序中
app.get('/:code_user',routes.index);
这就是我收到的提示
success: /YOGE7419
success: /YOGE7419
DEBUG: validate error: maxlength not match
以及其中的URL转换
http://localhost:8000/YOGE7419#sthash.zp1bOY2d.dpbs
为什么会这样???第一次和第二次请求之间发生了什么??tnx
应用程序配置
app.configure(function()
{
app.use(express.favicon(__dirname + '/public/images/favicon.png'));
app.set('port', 8000 || process.env.PORT);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('view options',{layout:false});
//app.use(express.logger('dev'));
app.use(express.bodyParser({uploadDir:'./public/uploads/'}));
app.use(express.cookieParser('nomatherwhatdoyoudobatman'));
app.use(express.session());
app.use(passport.initialize());
app.use(passport.session());
//app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
app.use(function(req, res, next){
res.render('404.jade',
{
title: "404 - Page Not Found",
showFullNav: false,
status: 404,
url: req.url
});
});
});
3条答案
按热度按时间tcomlyy61#
如果快速重定向浏览器,那么浏览器将发送一个重复的请求(在我的经验,这是5秒后),如果重定向还没有完成。
通过在重定向请求中添加超时,我可以避免重复请求:
有关详细讨论,请阅读GitHub Link。
qvsjd97n2#
第一个请求是由浏览器自动发出的,它请求favicon.ico,当然,第二个请求是URL(Your URl)。
更多参考
http://net.tutsplus.com/tutorials/javascript-ajax/node-js-for-beginners/
dgiusagp3#
我也遇到过类似的问题,对我来说根本原因是视图中的标签。我敢肯定你可能已经使用了partials来包含ejs的片段。
在删除链接文件[链接和脚本标记]到外部CSS,JS文件后,它工作得很好。
我确定这可能是根本原因。