解决vue跨域请求无法携带cookie,进而无法在服务器端设置session保持数据(状态)的问题
我是这样遇到这个问题的。首先在点击登录时,使用(this.$http.post)请求后台php,php这边是要将通过sql查询得到的uid保存到session里的,结果发现只在session中存储了瞬间,后面直接释放了。WHY?于是百度解决方案。首先,在php中加了几个请求头。header('Access-Control-Allow-Origin:http://localh
·
我是这样遇到这个问题的。
首先在点击登录时,使用(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(可选配置项)。
更多推荐
已为社区贡献6条内容
所有评论(0)