跨越域

时间:2015-09-30 20:57:12

标签: javascript session backbone.js cookies

我有一个主干木偶应用程序,可以进行REST api调用。

在我的模型中,当我进行api调用登录时,我得到一个会话值,并看到在浏览器中设置的cookie

当我再次拨打电话以获取登录的用户信息后,我会立即收到不同的会话或cookie值且未找到任何用户。 CORS已启用,正在进行选项调用。

当我将api连接到构建非骨干库的其他应用程序时,它工作正常。有谁知道如何解决这个问题?

这是我的帖子

         doLogin: function( data ){

            this.fetch({
                data: JSON.stringify(data),
                type: 'POST',
                contentType: 'application/json',


                error:(function (e) {
                    alert('error');
                })
            });

        },

1 个答案:

答案 0 :(得分:0)

目前尚不清楚这段代码,但看起来你的电话会转到不同的域名(一旦你提到了CORS)。

如果确实如此,我担心会话和cookie可能会有所不同,因为它们可能只针对您的第一个请求(doLogin)到达的域而不是第二个请求({{1} })。更多信息:Sharing cookies across different domains and different applications (classic ASP and ASP.NET)

另外需要注意的是,如果您的两台服务器都支持CORS,因为设置的一部分是客户端,另一部分是服务器端(标头)。有关详细信息:http://www.html5rocks.com/en/tutorials/cors/