会话变量在请求之间持续存在困难

时间:2015-07-09 18:35:56

标签: angularjs session express express-session

我的应用程序当前正在从我的文件系统打开,并向云托管的服务器发出请求9.每当我从同一页面提交信息时,我都会从同一页面发出两个请求。

一个请求是创建一个新资源,第二个请求是上传文件。完成第一个请求后,我设置了一个会话变量,这对于成功处理第二个请求至关重要,因为它用于身份验证,但是当我执行第二个请求时,变量不在那里。

我正在使用angular进行请求,我觉得这是相关的,因为应该存储在客户端上的会话ID占位符应该在第一次请求之后但是它不存在,并且我说明怀疑角度的方式可能正在处理请求可能会发生冲突。

为了获得会话ID,我下载了我的应用程序的脚本文件,同时从磁盘加载了所有其他内容,我确实得到了一个sid

修改可能不是让我的应用在网址上保留网址的最佳决定

SID

在客户端,这就是我执行请求的方式。

$http.post('www.myurl.com/firstBatch',app).success(function(data)
        {
            var res  = data;
            if(res == 'true')
            {
                sendSecondBatch($scope, function(formData)
                {
                    var tok = encodeURIComponent($scope.application.title);

                    $http.post('www.myurl.com/secondbatch', formData, {
                        headers : {'Content-Type' : undefined},
                        transformRequest : angular.identity

                    }).success(function(data){
                        //data
                        if(data == 'true')
                        {
                           //both of the request's succeeded 
                        }

                    })

                });
            }
        });

在服务器端,我有一个处理一个请求的路由,另一个路由处理第二个请求。

function handleFirst()
{
   //logic
   req.session.myarray =['myname'];

}

并位于不同的路线

function handleSecond()
{
    var myname = req.sesssion.myarray[0];
}

myname未定义,表明会话未持续

0 个答案:

没有答案