解决vue跨域请求无法携带cookie,进而无法在服务器端设置session保持数据(状态)的问题

我是这样遇到这个问题的。

首先在点击登录时,使用(this.$http.post)请求后台php,php这边是要将通过sql查询得到的uid保存到session里的,结果发现只在session中存储了瞬间,后面直接释放了。

WHY?

于是百度解决方案。

首先,在php中加了几个请求头。

header('Access-Control-Allow-Origin:http://localhost:8080');
	Header('Access-Control-Allow-Headers:Content-Type');
	header('Access-Control-Allow-Credentials:true');//是否支持cookie跨域
结果发现还是不对,于是在客户端的 this.$http.post加了这样的配置

this.$http.post('http://localhost/wyyx/user.php',
              {uname:this.uname,upwd:this.upwd},{emulateJSON:true,withCredentials:true})
发现就可以了。

需要注意的,this.$http.post中只能放置三个参数,可以console.log查看验证,我后面出现错误就是因为把上面配置项中的两项拆来写,所以还是不对。

三个参数:第一个为url,第二个为body(也就是要传递的数据),第三个为options(可选配置项)。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值