너무 혼란 스럽습니다. 나는 다음과 같은 익스프레스 응용 프로그램을 만들었습니다.Node.js는 appfog의 서버를 표현합니다. android에서 Chrome을 사용할 때 페이지가 새로 고침 될 때 세션이 손실됩니다.
그런 다음 경로를 약간 수정하여 확인하고 삭제하십시오. 내 로컬 컴퓨터에서 서버를 실행하고 내가 사용하는 모든 브라우저 (Chrome, Firefox, Android Chrome, Android Dolphin)는 예상대로 작동합니다. 그러나 이것을 appfog에 업로드하자 마자 Android 용 Chrome은 페이지로드 동안 동일한 세션을 유지하지 못합니다. 여기 appfog에 내 호스팅 응용 프로그램입니다,이 스스로를 테스트 할 수 있습니다
주먹 페이지에서는 세션 VAR을 설정합니다 온. 해당 페이지에는 세션 변수가 설정되었는지 확인하고 세션을 파괴 할 수있는 링크가 있는지 확인하는 링크가 있습니다. Android 용 Chrome은 사용자가 세션을 var로 설정했다고보고하지 않습니다. 다시 말하지만 앱이 appfog에있을 때 Android 용 Chrome에서만 작동하지 않습니다. 이 응용 프로그램이 appfog에 있는지 여부에 관계없이 다른 브라우저는 아무 문제없이 작동하는 것 같습니다.
이것이 앱 버그입니까? Android 용 Chrome 버그입니까? 익스프레스 또는 연결 버그입니까? 내가 잘못하고있는 것이 있습니까?
내 코드 :
는 app.js
var express = require('express')
, routes = require('./routes')
, http = require('http')
, path = require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.VMC_APP_PORT || process.env.PORT || 1337);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('secret'));
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
app.get('/session', routes.session);
app.get('/destroy', routes.kill);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
./routes/index.js
exports.index = function(req, res){
req.session.test = 1;
res.render('index', { title: 'I set the session var test to 1' });
};
exports.session = function(req, res){
if(req.session.test === 1) {
res.render('index', {title: 'the session var test is 1! :)'});
} else {
res.render('index', {title: 'the session var test is not 1!!!!!! >:('});
}
};
exports.kill = function(req, res){
req.session.destroy();
res.render('index', {title: 'I called session.destroy()'});
};
AppFog에서 샘플 앱을 테스트했는데 정상적으로 작동했습니다. http://sessiontest.aws.af.cm/ –