首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >mediator.user在手动更改路由后丢失

mediator.user在手动更改路由后丢失
EN

Stack Overflow用户
提问于 2012-11-27 13:03:38
回答 1查看 169关注 0票数 2

我正在构建一个带有护照本地认证的单页应用程序。在用户对象返回后,用户将在app.post "/login"中进行身份验证和返回,我将其保存在Chaplin.mediator.user中(如facebook-示例中所示)。只要我不手动更改URL,一切都能正常工作,但是当我更改URL并点击enter时,应用程序将再次以不同的路径加载->前端没有用户。

我现在要做的是,每次我手动更改路由时,我都会向服务器发送请求,并在req.user中请求用户。在接收到用户之后,应用程序继续其工作流程。这很管用,但我不认为这是注定的。如果您不等待响应,那么尽管您已经登录,但最终还是没有用户对象。

我该如何解决这个问题?

编辑:我最终将用户保存在单独的cookie中。我就是这样保存用户的:

代码语言:javascript
运行
AI代码解释
复制
  $.cookie.json = true;
  $.cookie 'user', user.toJSON()

在加载页面之后,我就是这样提取用户的:

代码语言:javascript
运行
AI代码解释
复制
  userCookie = $.cookie 'user'
  if userCookie?
    mediator.user = new Model JSON.parse userCookie

您需要jquery-cookie插件才能使其工作。如果用户注销,请不要忘记删除cookie。当然,我仍然对其他想法持开放态度。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-27 14:33:24

您应该在本地存储用户(也就是会话)。当Backbone应用程序加载时,如果用户实际上已经登录,那么您应该将他们路由到正确的位置。

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

https://stackoverflow.com/questions/13592998

复制
相关文章

相似问题

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