在处理OPTIONS请求的时候做了
if (isset($_SERVER["HTTP_ORIGIN"])) {
header('Access-Control-Allow-Origin:' . $_SERVER["HTTP_ORIGIN"]);
}
header("Access-Control-Allow-Headers: SET-COOKIE,COOKIE,token,Origin, X-Requested-With, Content-Type,withCredentials");
header('Access-Control-Allow-Methods: OPTIONS,POST,GET,DELETE,PUT');
header('Access-Control-Allow-Credentials: true');
if ($request->isOptions()) {
exit;
}
但是验证码还是无法验证成功!前端 axios 也添加了
axios.defaults.withCredentials = true;
无论是apache还是nginx都是一样的 就算去掉上面的代码 用nginx做跨域处理也是不能解决的!!!!
还是说我在前端获取验证码的方式有问题?
前端用的是vue 获取验证码的时候直接是将验证码的地址给img
<img :src="captcha" @click="getImgCaptcha">
getImgCaptcha() {
this.captcha = this.$api + 'captcha?time=' + Math.random();
},
5 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
多谢大家回答 是我前端代码写错了 居然在点击验证验证码的时候同时又去获取了图形验证码 这个获取图形验证码的语句应该是写到响应完毕之后的
所有的回答都赞赏了 感谢大家帮忙!!!
- 5 回答
- 0 关注
- 605 浏览
添加回答
举报
0/150
提交
取消