这里的保持登录状态保持不了

这里的保持登录状态保持不了

我每次刷新的时候还是要重新进入登录界面

 checkLogin(){

        

        const {user,password}=this.state;

        const url=`http://www.dell-lee.com/react/api/login.json?user=${user}&password=${password}`;

        axios.get(url,{withCredentials:true}).then(res=>{

            const login=res.data.data.login;

            if(login){

                message.success("登录成功");

                this.setState({

                    login:true,

                    modal:false,

                })

            }else{

                message.error("登录失败");

            }

        })

    }


 logout(){

        axios.get('http://www.dell-lee.com/react/api/logout.json',{withCredentials:true}).then(res=>{

           const logout=res.data.data.logout;

           if(logout){

               this.setState({

                   login:false

               })

           }

          this.props.history.push("/");  //回到根目录

        })

    }


还有就是VIP页按照这个接口

http://www.dell-lee.com/react/api/isLogin.json

获取到的数据不都是这样的吗,即使那边登录页面登录了,我这边获取到的登录状态依旧是false,这个要怎么帮,麻烦老师解答一下,谢谢啦

http://img1.sycdn.imooc.com//climg/606ee380097b8d1b03000196.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕久久 2021-04-09 10:54:54

同学你好,解答如下:

二者都是一个原因。由于同学那边登录、请求登录状态时都无法携带cookie,所以登录状态保存不住,并且vip页面会获取不到正确的信息。如下设置就可以解决这两个问题:

http://img1.sycdn.imooc.com//climg/606fc17309f1780612000430.jpg

同学设置一下试试。

如果登录状态可以保存住,但是vip页面登录数据不对,可以新建一个问题,把相关代码都粘贴出来,老师再帮你测试一下代码。

祝学习愉快!

好帮手慕久久 2021-04-09 09:38:28

同学你好,老师使用你的代码测试,能保留登录状态,登录后vip页面获取的数据格式如下:

http://img1.sycdn.imooc.com//climg/606faede093482ae10910300.jpg

同学那里登录状态保存不住,可能是浏览器的原因,部分浏览器有一些安全策略,会禁止页面携带cookie,所以登录状态保存不住。建议同学使用谷歌浏览器,如下这样操作试试:

打开谷歌浏览器,地址栏输入chrome://flags/ ,然后再弹出的页面中输入SameSite,把第一个改为disable,重启浏览器:

http://img1.sycdn.imooc.com//climg/606fb00409ff137e12330441.jpg

祝学习愉快!​

  • 提问者 木_人 #1
    老师,那第二个问题怎么解决
    2021-04-09 10:05:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师