首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取backbone.js模型中的Cookie值?

问如何获取backbone.js模型中的Cookie值?
EN

Stack Overflow用户
提问于 2012-05-23 08:54:25
回答 3查看 7.7K关注 0票数 3

我在HTML5中有一个简单的Backbone.js/Bootstrap前端和一个Node.js/Restify后端。我在来自服务器的头响应中设置cookie,如下所示:

代码语言:javascript
复制
res.setHeader("Set-Cookie", ["token=ninja", "language=javascript"]);

在客户端,我的REST调用如下所示

代码语言:javascript
复制
var response = this.model.fetch().success(function(data){
           //success
           }).error(function(data){
           //error 
           }).complete(function(data){
            //complete
           });

这将回调模型中的一个解析方法。

如何读取模型中的cookie值?

EN

回答 3

Stack Overflow用户

发布于 2012-05-23 09:11:23

包括Cookie.js。

然后,您可以像这样引用单个cookie:

代码语言:javascript
复制
var token = Cookie.get('token')

# token == 'ninja'
票数 1
EN

Stack Overflow用户

发布于 2012-05-24 23:35:08

这是我想出来的。我的应用程序有两个组件-来自一个域的HTML/js,它与另一个域上的REST服务对话(因此是跨域的)。因为cookie是从REST设置的,所以它似乎不能跨域读取。因此,即使服务器正在发送cookie,网页也不会存储它。一种替代方法是使用本地cookies或使用http://backbonetutorials.com/cross-domain-sessions/所示的技术。

票数 1
EN

Stack Overflow用户

发布于 2012-05-23 09:19:46

假设您将jQuery与Backbone一起使用,则可以通过调用getAllResponseHeaders或getResponseHeader在模型中定义parse函数来获取标头

代码语言:javascript
复制
var model = Backbone.Model.extend({

    // the rest of your model

    parse: function(resp, xhr) {
        var allHeaders = xhr. getAllResponseHeaders();
        var cookieHeader = xhr. getResponseHeader("Set-Cookie");

        // do something with the headers

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

https://stackoverflow.com/questions/10712113

复制
相关文章

相似问题

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