В общем, я перерыл всё, что только можно, всё настроил, сделал, и всё равно требует заголовок, я уже не понимаю, что происходит, скриншоты прилагаю, где всё написано, помогите, чего ещё не хватает, почему не хочет работать?
Файл контроллер:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class restController extends Controller
{
public function index()
{
echo "gg";
}
}
Промежуточное ПО Cors.php:
namespace App\Http\Middleware;
class Cors
{
public function handle($request, \Closure $next)
{
$response = $next( $request );
$response->header('Access-Control-Allow-Origin', 'localhost');
$response->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
$response->header('Access-Control-Allow-Headers', 'Origin, Content-Type');
return $response;
}
}
Js файл на стороне клиента (тестовый запрос в json)
window.onload = init;
function init() {
var button = document.querySelector('#btn');
button.addEventListener('click', async function (e) {
e.preventDefault();
//console.log(document.querySelector('meta[name="csrf-token"]').content);
let url = 'http://127.0.0.1:8000/photoService/registration/create';
let user = {
name: 'John',
surname: 'Smith'
};
let promise = await fetch(url, {
method: 'GET',
headers: {
'Content-Type': 'application/json;charset=utf-8',
'Accept': 'application/json',
},
//body: user
});
let result = await promise.json();
console.log(result);
});
}
Файл kernel.php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
protected $middleware = [
// ...
\App\Http\Middleware\Cors::class,
];
}
Файл web.php (маршрут)
<?php
Route::get('photoService/registration/create', 'restController@index')->middleware('cors');
Полностью ошибка звучит так:
Access to fetch at '
127.0.0.1:8000/photoService/registration/create' from origin '
restclient.ru' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.