猿问

登录成功后,再请求后端接口,返回未登录发现session id 变了

我最开始请求登录接口,登录成功后,再请求数据接口,返回未登录。
于是我把登录接口跟数据接口脱离项目,放一个单独的html文件中,然后测试发现请求是成功的,session id是一致的;
然后项目中的数据接口也能请求成功了,但等登录时效一过,项目中的数据接口又返回未登录了;
只要我把单独的html(包含登录接口与数据接口)刷新,项目中的数据接口就能请求成功

后台是java

我在网上查了很多资料,基本上与我的情况不一样。
后也尝试过是不是因为异步的原因,用setTimeout来延时数据接口,但也没有成功

$.ajax({
    url:'http://server/admin/login',    type:'post',
    data:{username:'xxx',pw:'xxx'},
    xhrFields: {
        withCredentials: true
    },
    crossDomain: true,
    success:function(res){
        console.log(res)
        //登录成功
    }
})
setTimeout(function(){
    $.ajax({
        url:'http://server/admin/getData',        type:'post',
        data:{id:'10031',coin:'$',amunt:'1000'},
        xhrFields: {
            withCredentials: true
        },
        crossDomain: true,
        success:function(res){
            console.log(res)
            //这时后端返回的状态码是未登录
            //查看sessionid时发现跟登录时的sessionid不致
        }
    })
},2000)

不知道为什么把登录接口与数据接口单独拿出后就能请求成功,而在项目中却返回未登录,session id 改变?


莫回无
浏览 2784回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答