Laravel从vuie.js模块的axios.post中获取一个空变量

Laravel从vuie.js模块的axios.post中获取一个空变量,laravel,vue.js,axios,Laravel,Vue.js,Axios,stackOverflow的合作伙伴我使用类似laravel的后端和vue.js制作了一个模块,我有一个表单来创建一个新实体,但是控制器没有得到值,请帮助我找到错误。我将分享代码 网站 //new event from API Route::resource('/api/events', 'EventsController', ['except' => 'show','create']); 控制器EventsController.php中的函数 <?php nam

stackOverflow的合作伙伴我使用类似laravel的后端和vue.js制作了一个模块,我有一个表单来创建一个新实体,但是控制器没有得到值,请帮助我找到错误。我将分享代码

网站

    //new event from API
    Route::resource('/api/events', 'EventsController', ['except' => 'show','create']);
控制器EventsController.php中的函数

<?php

namespace soColfecar\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use soColfecar\Http\Requests\CreateEventRequest;
use soColfecar\Http\Requests\UpdateEventRequest;
use soColfecar\User;
use soColfecar\Change;
use soColfecar\Event;
use soColfecar\Event_type;
use Auth;
    public function store(Request $request)
{
    $exploded = explode(',', $request->banner);
    $decoded = base64_decode($exploded[1]);
    if(str_contains($exploded[0],'jpeg'))
        $extension = 'jpg';
    else
        $extension = 'png';
    $fileName = str_random().'.'.$extension;
    $path = public_path().'/storage/banner/'.$fileName;
    file_put_contents($path, $decoded);

    Event::create([
        'event' => strtoupper($request['event']),
        'id_event_type' => $request['id_event_type'],
        'date_init' => $request['date_init'],
        'date_end' => $request['date_end'],
        //'banner' => $fileName,
    ]);
    Change::create([
        'description' => 'Creo el  de evento:'.$request['event'].' correctamente.',
        'id_item' => 10,
        'id_user' => Auth::user()->id,
    ]);

    return redirect()->route('events.index')
        ->with('info', 'evento guardado con exito');
}
方法:

<form method="POST" v-on:submit.prevent="storeNewEvent">
                    <div class="form-group m-form__group">
                        <label for="eventTypeInput">Tipo de vento:</label>
                        <v-select :options="eventTypes"  v-model="newEvent.id_event_type" id="eventTypeInput">
                            <template slot="option" slot-scope="option">
                                {{ option.label }}
                            </template>
                        </v-select>
                        <span v-for="error in errors" class="text-danger" :key="error.error">{{ error.city_id }}</span>
                    </div>
                    <div class="form-group m-form__group">
                        <label for="inputHotelName">Nombre del Evento</label>
                        <input type="text" class="form-control" name="inputHotelName" v-model="newEvent.event" placeholder="Nombre del Evento">
                        <span v-for="error in errors" class="text-danger" :key="error.error">{{ error.hotel_name }}</span>
                    </div>
                    <div class="form-group m-form__group">
                        <label for="date_init_imput">Fecha de inicio</label>
                            <input class="form-control" type="date" v-model="newEvent.date_init" value="" id="date_init_imput">
                    </div>
                    <div class="form-group m-form__group">
                        <label for="date_end_imput">Fecha de finalizacion</label>
                            <input class="form-control" type="date" v-model="newEvent.date_end" value="" id="date_end_imput">
                    </div>
                    <div class="form-group m-form__group">
                        <label for="customFile">Banner del Evento</label>
                        <div></div>
                        <div class="custom-file">
                            <input type="file" class="custom-file-input" @change="getLogo" id="customFile">
                            <label class="custom-file-label" for="customFile">Seleccione archivo</label>
                            <span v-for="error in errors" class="text-danger" :key="error.error">{{ error.logo }}</span>
                        </div>
                    </div>

                    <hr>
                    <button type="submit" class="btn btn-info waves-effect text-left">Guardar</button>
                </form>
data() {
    return {
        changes:    [],
        eventTypes: [],
        errors:     [],
        newEvent: {
            event:          '',
            id_event_type:  '',
            date_init:      '',
            date_end:       '',
            banner:         '',
        }
    }
},
    storeNewEvent : function() {
        var url = 'api/events';
        var newEvent = this.newEvent
        axios.post(url, {event: this.newEvent}).then(response => {
            this.newEvent = {}
            this.errors = [];
            $('#new_event_modal').modal('hide');
            $('.modal-backdrop').remove();
            toastr.success('Se ha creado el evento con exito!')
        }).catch(error => {
            this.errors = error.response.data
        });
    },
错误呢

函数soColfecar\Http\Controllers\EventsController::store的参数太少,传递了0,预期正好是1

您需要让Laravel知道如何在依赖项注入中填充它

在文件的顶部:

use Illuminate\Http\Request;
然后,对于您的功能:

public function store(Request $request) {

所以我定义了它