В настоящее время я работаю над Laravel API для Angular.
Я поставил
'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedHeaders' => ['*'],
'allowedMethods' => ['*'],
'exposedHeaders' => [],
'maxAge' => 0,
для тестирования в cors.php и все работает нормально, за исключением одного вызова, который дает мне ошибку Access-Control-Allow-Origin.
Это запрос на получение с URLSearchParams:
const params: URLSearchParams = new URLSearchParams();
params.append('posts', JSON.stringify(postIds));
const headers = new Headers();
headers.append('Content-Type', 'application/json');
const options = new RequestOptions({ headers: headers, params: params });
this.http.get(environment.apiEndpoint + 'reactions/sounds/', options){...}
Я уже пытался изменить его на POST-запрос, потому что подумал, что, может быть, проблема в GET с параметрами, но я получил то же самое.
Как может получиться так, что большинство запросов (с одной и той же страницы и источника) выполняются успешно, а этот — нет?
Он работает на локальном хосте, но не на удаленном сервере.
Маршруты в Ларавеле настроены так:
Route::get('reactions/sound/{id}', function (Request $request, $id) {
...
});
Route::get('reactions/sounds', function (Request $request) {
...
});
Первый работает, второй нет.
Задача ещё не решена.
Других решений пока нет …