Нужно сделать авторизацию с разделением бэкенда и фронтенда в 2 разные папки. Используется код с использованием Ajax для отправки данных с формы и перехода к файлу users/login.blade.php, бэкенду, в котором должна выводиться данные. Но вместо этого выводится "Ошибка запроса" и такая ошибка в консоли:
POST
backend/users/login 500 (Internal Server Error)
send @ jquery.min.js:2
ajax @ jquery.min.js:2
(anonymous) @ script.js:4
dispatch @ jquery.min.js:2
v.handle @ jquery.min.js:2
Маршрут laravel в web.php:
Route::post('/users/login', [UserController::class, 'login'])->name('login');
Контроллер в laravel:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function login (Request $request) {
response()->json($request);
}
}
Форма авторизации:
<form class="modal_auth" id="login" method="post">
<div class="c1 r1 headline_modal">Вход</div>
<input type="email" class="c1 r2" placeholder="электронная почта" name="email">
<input type="password" class="c1 r4" placeholder="пароль" name="password">
<input type="submit" class="c1 r5" value="войти">
</form>
Код JS:
$("document").ready(()=>{
$("#login").submit((event)=>{
event.preventDefault();
$.ajax({
url: "http://backend/users/login",
method: "POST",
data: $("#login").serialize(),
success: (response)=>{
console.log(response);
},
error: ()=>{
console.log("Ошибка запроса!");
}
})
})
})
В файле VerifyCsrfToken.php добавлено:
protected $except = [
'*'
];
В файле config/cors.php:
'paths' => ['*', 'api/*', 'sanctum/csrf-cookie'],