废话不多说直接上干货
报错:Access to XMLHttpRequest at '“请求url”' from origin '“本地url”' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
去网上搜索“前后端跨域”或者“Apache跨域”的时候按照多篇教程设置均不成功。因为每个人的电脑环境都不太一样,所以我在最终设置成功后写了此文并加上了电脑环境关键词。
开发电脑是windows10,php环境用的是phpstudy面板,服务器应用是Apache2.4。设置允许跨域请求的具体步骤如下:
1:打开“C:\phpstudy_pro\Extensions\Apache2.4.39\conf\httpd.conf”,找到“#LoadModule headers_module modules/mod_headers.so”,去掉前面的“#”;
2:打开“C:\phpstudy_pro\Extensions\Apache2.4.39\conf\vhosts\域名.conf”,添加如下代码:
Header add Access-Control-Allow-Origin *
Header add Access-Control-Allow-Methods *
Header add Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization"
添加完成后如下图所示:
最后去phpstudy面板重启下Apache服务即完成了允许跨域配置。
提醒:重启Apache服务器时可能会提示:[Wed Oct 11 15:29:52.417326 2023] [so:warn] [pid 5512:tid 324] AH01574: module headers_module is already loaded, skipping 这是一个警告,但不影响功能的正常使用。