在处理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();
},
ITMISS
梦里花落0921
白板的微信
慕后森
慕婉清6462132