CORS";对飞行前请求的响应不';t通过访问控制检查”;从PHP服务器发送带有400状态代码的响应时出错

CORS";对飞行前请求的响应不';t通过访问控制检查”;从PHP服务器发送带有400状态代码的响应时出错,php,Php,我正在用香草PHP构建一个简单的后端。我创建了一个特殊的函数,它接受一个状态代码,设置所有必需的头并向客户端发送响应。如果状态代码以2开头,则响应将正常发送,但如果以4或5开头,则会发生以下错误 Access to fetch at 'http://localhost/../../..' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn'

我正在用香草PHP构建一个简单的后端。我创建了一个特殊的函数,它接受一个状态代码,设置所有必需的头并向客户端发送响应。如果状态代码以2开头,则响应将正常发送,但如果以4或5开头,则会发生以下错误

Access to fetch at 'http://localhost/../../..' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
我不知道为什么以糟糕的状态回应会产生CORS问题。我用来发送响应的代码如下

header("Content-Type: application/json");
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: *');
header('Access-Control-Allow-Credentials', 'true');
http_response_code($statusCode);
die(json_encode($data));
我做了一些研究,发现一个类似的问题被提出并解决了。但从外观上看,他/她使用的是slim框架,而我无法为vanilla php找到它。我如何解决我的问题