топор ios пост 405 не допускается | Laravel + vue. js - PullRequest
1 голос
/ 08 февраля 2020

Я не могу создать новую запись в базе данных, потому что после отправки она всегда показывает POST 405 (не разрешено). Я пытался переместить laravel маршруты из API. php в сеть. php, но это не сработало. Также пытался изменить ссылку ax ios .post (create, / create, localhost: // Reservationsystem / public / create), но это также не дало мне результата.

Web. php

Route::resource('/reservation','ReservationController');
Route::get('/{any}', 'SinglePageController@index')->where('any', '.*');

Маршруты. js

import Vue from 'vue'
import Router from 'vue-router'
import Home from './components/HomeComponent.vue'
import Reservations from './components/ReservationsComponent.vue'

Vue.use(Router);

export default new Router({
    routes: [
        {
            path: '/',
            name: 'home',
            component: Home
        },
        {
            path: '/reservations',
            name: 'reservations',
            component: Reservations
        }
    ]
})

HomeComponent. vue

<script>
    import axios from 'axios';

    export default {
        data: function () {
            return {
                reservation: {
                    name: '',
                    surname: '',
                    email: '',
                    date: '',
                    place: ''
                }
            }
        },
        methods: {
            addReservation: function () {
                let uri = 'reservation';
                axios.post(uri, this.reservation).then(res => this.reservation = [...this.reservation, res.data]);
            }
        }
    }
</script>

метод управления:

public function store(Request $request)
{
    $reservation= new Reservation($request->all());
    $reservation->save();

    return new ReservationResource($reservation);
}

Ответы [ 2 ]

0 голосов
/ 09 февраля 2020

Вы используете https? Если да, не используйте / в конце адреса.

0 голосов
/ 08 февраля 2020

Причина, по которой вы можете получить 405, состоит в том, что маршрут не соответствует Post для совпадения с post в методе addReservation. Я бы использовал следующее для маршрута post:

Route::post('/reservation/store','ReservationController@store');

для uri в ax ios Я бы использовал:

let uri = 'reservation/store';

Вот ссылка на пост, показывающий, как я использовал топор ios с Laravel. Сообщение в блоге с кодом

...