2016-08-06 37 views
0

後,在我的app.js我做這個無法設置頁眉他們被送到錯誤

app.use(function(req, res, next){ 

    if(!req.user){ 
    return res.redirect('/login_'); 
    } 
    next(); 
}) 

我看不出有什麼過錯,路線/ index.js我做

router.get('/login_', function(req, res) { 
    res.render('login', { user : req.user }); 
}); 

但我得到了一個錯誤。我知道這是由於請求沒有結束,但是我的代碼出現了什麼問題?對這個錯誤一無所知。路線/

的完整代碼index.js

var express = require('express'); 
 
var passport = require('passport'); 
 
var Account = require('../models/account'); 
 

 
var router = express.Router(); 
 

 
var multer = require('multer'); 
 
var storage = multer.diskStorage({ 
 
    destination: function (req, file, cb) { 
 
     cb(null, 'public/uploads') 
 
    } 
 
}) 
 

 
var upload = multer({ storage: storage }) 
 
var Photo = require('../models/photos'); 
 

 
router.get('/', function(req, res, next) { 
 
    if(req.user){ 
 
    res.redirect('/'+req.user.username+'/screen'); 
 
    }else{ 
 
    res.redirect('/login_'); 
 
    } 
 
}); 
 

 
router.get('/:username/screen', function(req, res, next) { 
 
    res.render('screen', { user : req.user }); 
 
}); 
 

 
router.get('/:username', function(req, res, next) { 
 
    var excludes = ["/login_", "/register_","/logout_"]; 
 
    if (excludes.indexOf(req.originalUrl) > -1){ 
 
    return next(); 
 
    }else{ 
 
    res.render('upload_photo'); 
 
    } 
 
}); 
 

 
router.post('/:username', upload.any(), function(req, res, next) { 
 

 
    var excludes = ["/login_", "/register_","/logout_"]; 
 
    if (excludes.indexOf(req.originalUrl) > -1){ 
 
     return next(); 
 
    }else{ 
 
     var photo = new Photo({ 
 
     photo:req.files[0].filename, 
 
     caption:req.body.caption 
 
     }); 
 
     
 
     photo.save(photo); 
 
     res.sendStatus(200); 
 
    } 
 

 
    \t 
 
}); 
 

 
router.get('/:username/manager', function(req, res, next) { 
 
    Photo.getAllPhotos(function(err,result){ 
 
    var headers = req.headers.host; 
 
    var pathname = '128.199.128.108:3000'; 
 
    
 
    if(headers.indexOf('localhost') > -1){ 
 
     pathname = 'localhost:3000' 
 
    } 
 

 
    res.render('manager',{pathname:pathname,photos:result}); 
 
    }); 
 
}); 
 

 
//* passport for register/login_ *// 
 
router.get('/register_', function(req, res) { 
 
    res.render('register', { }); 
 
}); 
 

 
router.post('/register_', function(req, res) { 
 
    Account.register(new Account({ username : req.body.username }), req.body.password, function(err, account) { 
 
     if (err) { 
 
      return res.render('register', { account : account }); 
 
     } 
 

 
     passport.authenticate('local')(req, res, function() { 
 
      res.redirect('/'); 
 
     }); 
 
    }); 
 
}); 
 

 
router.get('/login_', function(req, res) { 
 
    res.render('login', { user : req.user }); 
 
}); 
 

 
router.post('/login_', passport.authenticate('local'), function(req, res) { 
 
    res.redirect('/'); 
 
}); 
 

 
router.get('/logout_', function(req, res) { 
 
    req.logout(); 
 
    res.redirect('/login_'); 
 
}); 
 

 

 

 
module.exports = router;

回答

0

你打印此行之前的東西。 跟蹤或者指示您的服務器將某些輸出緩存到用戶。 (如果服務器不向用戶顯示任何內容,即使代碼嘗試打印某些東西,也可以發送標題) 但是,這是常識,不熟悉node.js

相關問題