- 跨域请求设置 /
function checkAllowOrigin()
{ //从配置文件获取允许源域名
$allowOrigin = explode(’,’, env(‘app.allow_origin’)); if (in_array(’’, $allowOrigin)) { $origin = ‘*’; $allow = true;
} else { $origin = request()->header(‘Origin’) ?? request()->domain(); allow=inarray(allow = in_array(allow=inarray(origin, KaTeX parse error: Expected 'EOF', got '}' at position 16: allowOrigin); }̲ if (!allow) { exit(‘403’);
} //允许跨域的来源域名
header(‘Access-Control-Allow-Origin:’.$origin); header(‘Access-Control-Allow-Methods: GET, POST, OPTIONS’);//允许跨域的请求方法
// 带 cookie 的跨域访问
header(‘Access-Control-Allow-Credentials: true’); // 响应头设置(允许跨域的头部)
header(‘Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token,Access-Token’);
}
四点:
1.允许跨域的来源域名
2.允许跨域的请求方法
3.允许带 cookie 的跨域访问(不允许改为false)
4.允许跨域的头部(记得把自定义的header头也写进去,不然跨域会不成功)
特别要注意的是3和4点。比如第4点的Access-Token,我们项目自定义的,忘了加。在有用户登陆的时候,就一直无法跨域。
作者:会飞的鹏
来源:https://www.cnblogs.com/hfdp/p/14654952.html