日安,
我最近开始和RingoJS一起和粘贴中间件一起玩,现在我被困在会话中了。我不能让它起作用。
main.js
var {Application} = require( "./_lib_/stick" ),
app = exports.app = Application();
app.configure( "mount" );
app.mount( "/", require( "./actions" ) );
if ( require.main === module ) {
require( "ringo/httpserver" ).main( module.directory );
}actions.js
var {Application, helpers} = require( "./_lib_/stick" ),
Response = require( "ringo/jsgi/response" );
export( "app" );
var app = Application();
app.configure( "route", "render", "session" );
app.render.base = module.resolve( "templates" );
app.render.master = "page.html";
app.get("/session.htm", function( request ) {
//request.session.data.foo = "bar";
request.session.data.put("foo", "bar");
return Response.redirect( "session2.htm" );
});
app.get("/session2.htm", function( request ) {
var value = request.session;
return Response.html( "Session: " + value );
});我已经测试过许多组合,但没有一个是作为支持的。
我遇到的大多数错误都是关于读取会话中的数据的。例如:
TypeError:无法从未定义的读取属性“数据”
有小费吗?
发布于 2011-11-16 03:00:14
"session"需要出现在app.configure中的"mount"之前。
在main.js的第四行:
app.configure( "session", "mount" );然后,从以后对app.configure的调用中删除app.configure,因为两次运行中间件是没有意义的。
https://stackoverflow.com/questions/8145194
复制相似问题