thinkphp8怎么解决跨域错误

跨域常见错误

Access to XMLHttpRequest at 'http://example.com/api' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource

我们在开发网站时,特别是前后端分离的网站,前端和后端不是同一个域名会出现这样的错误。

解决方案

我前面提过一个开源项目(thinkphp8+vue3开源项目,部署就能直接使用,论文查重+AIGC检测)就是前后端分离的,我们看看这个项目是怎么解决这个问题的。

首先我们看到 composer.json 中有 topthink/think-cors 说明这个项目用了 topthink/think-cors。我们搜索 topthink/think-cors 就可以找到详细的说明。

安装:

bash 复制代码
composer require topthink/think-cors

配置文件 config/cors.php :

php 复制代码
<?php

return [
    'paths'                    => ['*'],
    'allowed_origins'          => ['*'],
    'allowed_origins_patterns' => [],
    'allowed_methods'          => ['*'],
    'allowed_headers'          => ['*'],
    'exposed_headers'          => [],
    'max_age'                  => 7200,
    'supports_credentials'     => true,
];

这样跨域错误就应该解决了。

相关推荐
badoucms建站源码6 天前
BadouCMS 与 PbootCMS 标签调用区别详细说明
pbootcms·thinkphp8·badoucms
丁丁丁梦涛7 天前
oss自定义域名+cdn跨域问题解决
cdn·oss·跨域·自定义域名
大飞哥~BigFei2 个月前
新版chrome浏览器安全限制及解决办法
java·前端·chrome·安全·跨域
Benny的老巢3 个月前
Cloudflare Workers CORS 跨域问题排查与解决
跨域·cloudflare·cors·workers
LongtengGensSupreme3 个月前
后端设置了跨域但是还是提示跨域问题,原因是这里有两个独立的安全策略在起作用:Chrome和Edge浏览器安全策略强制修改方案
前端·chrome·edge·浏览器·跨域
源代码•宸3 个月前
goframe框架签到系统项目开发(补签逻辑实现、编写Lua脚本实现断签提醒功能、简历示例)
数据库·后端·中间件·go·lua·跨域·refreshtoken
勇气要爆发3 个月前
跨域 (CORS) 原理:浏览器的“尽职保镖”
网络安全·跨域·cors
钦拆大仁3 个月前
聊一聊跨域错误CORS
web·跨域
戎码江湖3 个月前
前端跨域状态共享的实现方案
跨域·跨域共享·cookie跨域共享