gpt4 book ai didi

javascript - 从服务器端代码获取 session 信息,到客户端代码

转载 作者:行者123 更新时间:2023-11-30 13:17:53 26 4
gpt4 key购买 nike

在我正在使用 Node、Express 和 Backbone 开发的网站上,我让用户使用常规 HTML 表单登录,成功登录后,该表单会创建一个用户 session 。在服务器端访问此 session 信息很容易,让我可以访问用户 ID、用户名等,但我不确定如何在 Backbone 中访问此信息。

我想获取 UserID,这样我就可以为这样的集合创建一个 URL:

url: '/api/users/'+ this.userID +'/movies'; 

但我不确定如何根据服务器端的 session 数据最好地获取用户 ID。这是否需要创建另一个模型——比如说,一个“用户”模型,它通过特定的 url/get 请求从服务器获取 session 数据?

谢谢!

最佳答案

我想出了一些办法,但仍然愿意接受建议:

首先,在 Express.js 中创建一个返回 userId 的函数:

app.get('/api/current-user', middleware.requiresLogin, function(req, res){
res.send(req.session.user._id);
});

其次,在客户端,使用 Backbone 模型或 $.get 请求检索 ID:

var userID = $.get("/api/current-user");

$.when(userID).then(function(data){
var user = new userCollection(data);
user.fetch();
});

通过您的收藏和模型执行此操作:

window.userModel = Backbone.Model.extend({
idAttribute: "_id"
});

var userCollection = Backbone.Collection.extend({
model: userModel,
initialize: function(options){
this.url = "/api/users/"+options+"/movies";
this.model.urlRoot = "/api/users/"+options+"/movies";
}
});

我的模型.保存();然后正常工作。

关于javascript - 从服务器端代码获取 session 信息,到客户端代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11350522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com