len:2600
len:15
len:5
zz22zz技术论坛
首页| 论坛| 消息
主题:解决thinkphp应对options请求的时候的跨域问题
hduxg发表于 2020-11-23 10:40
复杂请求时,会遇到options请求,但是thinkphp路由直接拒绝了options请求,把头修改加到控制器里面是没用的。设置路由暂时还不会。不过可以直接加到入口文件

if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
exit;
}

tp3.2和tp5的区别
tp3.2可以在文件头部加
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
D('Aaaa')->data(array('space'=>'applet', 'module'=>'wxtoken', 'flag'=>'$_REQUEST', 'content'=>pw_var_export($_REQUEST), 'create_time'=>date("Y-m-d H:i:s")))->add();
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization, CAPTCHA");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
file_put_contents('option.txt',json_encode($_REQUEST));
exit;
}
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:*'); //响应类型
header('Access-Control-Allow-Headers:content-type,token,id'); //响应头设置
header("Access-Control-Request-Headers: Origin, X-Requested-With, content-Type, Accept, Authorization, CAPTCHA");
但是tp5这么加无效,
if($_SERVER['REQUEST_METHOD'] == 'OPTIONS'){
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization, CAPTCHA");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
exit;
}
必须加在入口文件里面。
回帖(0):

全部回帖(0)»
最新回帖
收藏本帖
发新帖