【发布时间】:2013-05-07 15:39:49
【问题描述】:
我的应用中有一个我无法解决的问题
首先是我的应用程序:
nodejs 0.8.14 表达 3.1 本地护照 0.1
问题是当我登录护照会话时,客户端请求页面两次...
我发现这是因为我在 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
});
});
});
【问题讨论】:
-
如果您使用浏览器发出请求,那么第二个请求可能会被 brwoser 初始化以获取 /favicon.ico
-
我提交了 favicon 并且还有第二个请求
-
您的意思是当您的浏览器访问该网址时,您会收到双重请求? console.log('success', req.url) 将显示哪个 url 正在执行请求。如果是请求密码,则可以忽略此评论。
-
@Pickels req.url == /YOGE7419 提示打印成功:/YOGE7419 成功:/YOGE7419
-
你认为它是请求密码吗??
标签: javascript node.js express