Допустим, у меня есть простая форма просмотра лезвия только с одним полем ввода и кнопкой отправки. В этом поле вам просто нужно написать имя. После этого вам нужно нажать кнопку отправки, которая делает вызов API.
Для упрощения, скажем, вызов API - это метод: post и URL: 'api / user'
вызывающий API создает нового пользователя в базе данных и отвечает с помощью json:
{
"id": 1,
"name": "Im a new user",
"created_at": 20190119
}
Как я знаю, если я реализую свой blade.view, как показано ниже:
<form method="POST" action="/api/user">
@csrf
<div class="form-group row">
<label for="username"
class="col-md-4 col-form-label text-md-right">{{ __('Name') }}</label>
<div class="col-md-6">
<input id="username" type="text"
class="form-control"
name="username" value="{{ old('username') }}" required autofocus>
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Create') }}
</button>
</div>
</div>
</form>
Моя страница отображает ответ.
То, что я хочу, - это оставаться в реальном виде и отображать ответ в виде предупреждения, например, $ name. 'был создан'
Маршрут Api (маршруты / api.php):
Route::post('/user', 'UserController@createUser');
Конфигурация маршрута (маршруты / web.php):
Route::get('/user' , function () {
return view('user/create-user');
});
Решения, которые я знаю, могли бы работать
перенаправление на ту же страницу (это означает, что необходимо повторно выполнить ту же страницу, и это не является действительно ответственным - это решение приводит к загрузке всей страницы снова)
возвращает то же представление в методе UserController @ createUser с данными (как и выше, и, насколько я знаю, вызов API должен отвечать с помощью json, а не с представлением)
Также я мог бы использовать Ajax, например, через JQuery. Как видите, есть множество решений, но какие из них самые лучшие.
Можете ли вы сказать, что в этом случае есть лучшие практики?
Есть ли хорошие решения, которые Laravel предлагает из коробки?