Я создал API с помощью Laravel и загрузил его на хост для совместного использования Linux, и когда я хочу использовать API с моим React SPA.Он работает отлично, но на этот раз я загрузил исходный код API Laravel на сервер Centos в папке моего домена, и когда я хочу подключиться к API с помощью React SPA, Chrome сообщает:
былозаблокирован политикой CORS: ответ на запрос предварительной проверки не проходит> проверка контроля доступа: в> запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
и при добавленииэти коды для htaccess:
Header always add Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header always add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
ошибка меняется на:
Ответ на предпечатный запрос не проходит проверку контроля доступа: не имеет HTTP-статуса ok.
Я установил https://github.com/barryvdh/laravel-cors в Laravel.
Домен SPA: web.example.com
Домен API: example.com/test
Я протестировал егоизменив домен API на основной домен.
Я активировал mod_header
в Centos.
// my kernel with laravel package
protected $middlewareGroups = [
'api' => [
\Barryvdh\Cors\HandleCors::class,
],
];
// my kernel with cors middleware that i created manually
protected $middleware = [
\App\Http\Middleware\Cors::class,
];
// my api route
Route::namespace('Api')->middleware('cors')->group(function () {