$page.props.csrf_token не определен (inertiajs)

я хочу вывести пользователя из системы по URL-адресу без инерции. поэтому я должен передать csrf token в форму с почтовым методом.


<!-- Authentication -->
<form
    method="POST"
    :action="route('logout')"
>
    <input type="hidden" name="_token" :value="$page.props.csrf_token">
    <jet-dropdown-link
        colors="text-red-700 focus:bg-gray-200 hover:bg-gray-200"
        as="button"
    >
        logout
    </jet-dropdown-link>
</form>

но это дает мне ответ 419 page expired.

когда я console.log("this.$page.props.csrf_token") показывает undefined.

что я должен делать?


person alien    schedule 26.02.2021    source источник


Ответы (2)


Вам нужно добавить @csrf в форму ‹ и добавить

<meta name="csrf-token" content="{{ csrf_token() }}">

в вашем макете

person VincentDm    schedule 26.02.2021
comment
у меня есть это <meta name="csrf-token" content="{{ csrf_token() }}"> в заголовке моего макета приложения. - person alien; 26.02.2021
comment
это vue.js шаблон, а не blade шаблон - person alien; 26.02.2021
comment
stackoverflow.com/questions/39938284/ - person VincentDm; 26.02.2021
comment
красивый. Благодарю. а как насчет этого: inertiajs.com/csrf-protection - person alien; 26.02.2021
comment
так что это было мое плохо. Я не читал документацию, просто посмотрел код и попробовал. - person alien; 26.02.2021
comment
я предложил редактирование, почему вы не отвечаете? - person alien; 26.02.2021

самый простой способ - использовать csrf_field:

<form>
    {{ @csrf_field() }}
    <!-- other fields -->
</form>    
person mohammad asghari    schedule 26.02.2021