Отправка запроса в Inertia
Пусть на странице есть поле заголовка и кнопка сохранения, но отправку нужно запустить только после проверки текста во Vue, а не через тег формы в шаблоне.
Метод post у объекта
router принимает адрес,
объект с полями и необязательные
опции визита. Inertia сам добавит
защиту от CSRF, как при других
запросах к Laravel, и обновит
страницу ответом сервера.
Давайте примем заголовок
и вернём человека на ту же
страницу методом back:
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
Route::get('/posts/create', function () {
return Inertia::render('Posts/Create');
});
Route::post('/posts', function (Request $request) {
return back();
});
?>
Давайте свяжем кнопку и отправку заголовка:
<script setup>
import { router } from '@inertiajs/vue3'
function save() {
router.post('/posts', {
title: 'News',
})
}
</script>
<template>
<h1>New post</h1>
<button type="button" @click="save">
Save
</button>
</template>
Отправьте имя Vera на страницу создания работника кнопкой из скрипта, чтобы сервер вернул на ту же страницу без перезагрузки документа.