thinkphp如何完成跨域请求

一、header类

thinkphp框架中,可以使用Header类来对响应头进行设置,从而实现跨域请求的功能。具体的方法是在控制器方法中添加以下代码:

header("Access-Control-Allow-Origin: *");header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

其中,第一行代码表示允许所有来源的跨域请求,也可以设置为具体来源;第二行代码表示允许跨域请求携带的请求头信息。这样设置之后,就可以实现基本的跨域请求了。

二、第三方库

除了使用Header类进行跨域请求的设置之外,还可以使用第三方库来简化这个过程。下面以主流的CORS(Cross-Origin Resource Sharing)库cors拓展为例,来介绍如何使用第三方库实现跨域请求。

立即学习“PHP免费学习笔记(深入)”;

安装cors拓展

打开命令行窗口,执行以下命令:

composer require topthink/think-cors

配置cors拓展

在项目的config文件夹下,创建一个cors.php文件,输入以下代码:

 ['*'],    // 允许的请求头信息    'allow_headers'     => 'Origin, X-Requested-With, Content-Type, Accept',    // 允许的请求方法    'allow_methods'     => 'GET, POST, PUT, DELETE, PATCH',    // 是否允许发送cookie    'allow_credentials' => true,    // 跨域请求缓存时间    'max_age'           => 3600,];

其中,$allow\_origin表示允许的请求域名,可以设置为具体的域名,也可以设置为通配符“*”;$allow\_headers表示允许的请求头信息,$allow\_methods表示允许的请求方法,$allow\_credentials表示是否允许发送cookie,$max\_age表示跨域请求缓存时间。

修改配置文件

在项目的config文件夹下,找到app.php文件,配置如下:

return [    // ...    'middleware' => [        // ...        \think\middleware\Cors::class,    ],];

调用cors拓展

在需要跨域请求的控制器方法中,可以直接调用cors拓展中的方法,实现跨域请求的设置:

use think\facade\Cors;public function index() {    Cors::allowAllOrigin();    return json(['code' => 200, 'msg' => 'success']);}

这样设置之后,就可以实现跨域请求了。

以上就是thinkphp如何完成跨域请求的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/50743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 18:32:03
下一篇 2025年11月8日 18:33:29

相关推荐

发表回复

登录后才能评论
关注微信