关于跨域

作者: 浊酒心跳 分类: 跨域 发布时间: 2020-11-03 17:21 阅读: 277

这是之前加的

$origin = $_SERVER['HTTP_ORIGIN'] ?? '*';

header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin:'. $origin);
header('Access-Control-Allow-Methods:*');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Headers: *');

但是请求之后报错

Response to preflight request doesn‘t pass access control check: It does not have HTTP ok status.


百度搜索了半天终于得到解决


在入口添加

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;
}

复杂请求时,会遇到options请求,但是thinkphp路由直接拒绝了options请求



如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论