我正在设置一个 PHP API 和一个基于客户端 Blazor 的网页。但由于某种原因,CORS 被触发,我的登录过程或对我的 PHP 页面的任何请求都会导致 CORS 错误。
我开始使用 C# 控制台应用程序和 Blazor 应用程序测试我的 PHP API,我尝试在没有任何数据库访问权限的情况下使用来测试功能。Blazor 目前正在运行 Preview 9。PHP 版本是 5.3.8。理论上我可以更新它,但其他几个活跃的项目正在其上运行,并且我没有任何测试环境。MySQL 版本 5.5.24。
首先,我认为这可能是因为我在本地计算机上运行它,所以我将其推送到 PHP 和 MySQL 也运行的网站上。我仍然遇到了这个 CORS 错误。
我仍在测试这一点,所以我尝试将其设置为允许任何来源。在此之前我没有任何关于 CORS 的经验。很确定我应该能够在我访问的每个允许 CORS 的文件中添加 PHP 代码,但由于它们都应该位于同一个网站上,所以我认为 CORS 甚至不应该相关?
PHP代码:
function cors() {
// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
// Decide if the origin in $_SERVER['HTTP_ORIGIN'] is one
// you want to allow, and if so:
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 …Run Code Online (Sandbox Code Playgroud)