-

tp5允许跨域请求配置

PHP

目前Web项目开发基本都是前后端分离的架构,那就避免不了会遇到跨域问题。在前端请求接口的时候,接口的协议、域名、端口三者之间任意一与当前页面地址不同就会出现跨域。跨域的时候会两次请求,第一次是 option去探测服务器是否允许跨域,然后才会正式去请求接口。ThinkPHP 5 是目前国内比较常用的PHP框架。下面雷雪松介绍两种tp5允许跨域请求的方法。

1、在TP5入口文件 index.php 配置。
[cc lang=”php” escaped=”true”]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’);
if ($_SERVER[‘REQUEST_METHOD’] == ‘OPTIONS’) {
exit;
}[/cc]

2、通过TP5行为(Behavior)配置全局跨域
a、在base.php基类添加行为标签位
[cc lang=”php” escaped=”true”]\think\Hook::listen(‘cros’);[/cc]

b、定义行为
[cc lang=”php” escaped=”true”]namespace app\index\behavior;
class Cros{
public function run(&$params){
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’);
}
}[/cc]

c、在目录下面或者模块的目录下面定义tags.php文件来统一定义行为
[cc lang=”php” escaped=”true”]’cros’ => [
‘app\\api\\behavior\\Cros’
],[/cc]

来源:tp5允许跨域请求配置

2 评论 “tp5允许跨域请求配置

    ndge 评论:
    2020年9月3日 下午1:50

    快递代发,礼品代发,单号网站www.5adanhao.cn

    好听的名字 评论:
    2022年7月3日 下午3:35

    王者荣耀刷点券http://oodakedo.com/
    王者荣耀名字https://n012.cn

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注