Эта проблема возникает, когда вы пытаетесь вызвать какой-то API из другого домена.Например, чтобы отправить запрос с «url1.com» на «url2.com», необходимо настроить политику CORS на сервере, где размещен «url2.com».
В результате заголовки CORS, такие как Access-Control-Allow-Origin, Access-Control-Allow-Headers, Access-Control-Allow-Methods, должны отправляться с вашего сервера с каждым запросом.
Вы можете прочитать, как это сделать здесь
Кроме того, вы должны включить запрос OPTIONS для вашего запроса (только что отправленный код состояния 200 для каждого запроса OPTION).Эта вещь называется предполетным запросом.Для этого вам нужно создать промежуточное программное обеспечение:
$app->add(function (Request $request, Response $response, $next) {
if ($request->getMethod() !== 'OPTIONS' || php_sapi_name() === 'cli') {
return $next($request, $response);
}
$response = $next($request, $response);
$response = $response->withHeader('Access-Control-Allow-Origin', '*');
$response = $response->withHeader('Access-Control-Allow-Methods', '*');
$response = $response->withHeader('Access-Control-Allow-Headers', '*');
return $response;
});