Jestem nowy wyrazić ramy i tutaj jest to, co mam w pliku server.js
:coraz dziwny błąd w sesji w wyraźnej ramach
// Module dependencies.
var application_root = __dirname,
express = require('express'), //Web framework
path = require('path'), //Utilities for dealing with file paths
mongoose = require('mongoose'); //MongoDB integration
//Create server
var app = express();
// Configure server
app.configure(function() {
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.session({secret:'thisismysupersecret'}));
app.use(express.static(path.join(application_root, 'site')));
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.post("/verifyLogin",function(request,response){
var usr=request.body.username;
var pass=request.body.password;
//request.session.email=usr;
response.redirect('dashboard');
});
//Start server
var port = 3000;
app.listen(port, function() {
console.log('Express server listening on port %d in %s mode', port, app.settings.env);
});
Kiedy przejść do localhost: 3000 uzyskać ten błąd
500 TypeError: Cannot read property 'connect.sid' of undefined
Gdzie jest problem?
i jak używać zmiennych sesji? Używam request.session.email = usr jako skomentowane w kodzie, ale generuje błąd o niezdefiniowanym ... – beNerd
Musisz przenieść 'app.use (app.router)' poniżej wszystkich tras. – robertklep
tak, zadziałało. Czy możesz mi pomóc zrozumieć tę koncepcję dodawania stosu oprogramowania pośredniego? mam na myśli, jak porządek robi różnicę i dlaczego? Dzięki. – beNerd