首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RingoJS中设置和读取会话数据?

如何在RingoJS中设置和读取会话数据?
EN

Stack Overflow用户
提问于 2011-11-16 00:37:55
回答 1查看 310关注 0票数 1

日安,

我最近开始和RingoJS一起和粘贴中间件一起玩,现在我被困在会话中了。我不能让它起作用。

main.js

代码语言:javascript
复制
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

代码语言:javascript
复制
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:无法从未定义的读取属性“数据”

有小费吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-16 03:00:14

"session"需要出现在app.configure中的"mount"之前。

在main.js的第四行:

代码语言:javascript
复制
app.configure( "session", "mount" );

然后,从以后对app.configure的调用中删除app.configure,因为两次运行中间件是没有意义的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8145194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档