繁体   English   中英

Vue和路由错误laravel

[英]vue and route error laravel

我在使用route和vue文件时出错,当我提交表单时,它给了我MethodNotAllowedHttpException,并且我检查了所有内容,但无法获取错误...

web.php

Route::get('/', 'HomeController@index')->name('home');

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Route::post('addServices','Services/ServicesController@createServices');

addservices.vue

    <template>
    <form class="form-vertical" method="POST">
        <div class="form-group">
            <label for="name" class="label-control">اسم الخدمة</label>
            <input type="text" name="name" id="name" v-model="name" class="form-control">
        </div>
        <div class="form-group">
            <label for="image" class="label-control">معرض الخدمة</label>
            <input type="file" id="image" v-el:image>
        </div>
        <div class="form-group">
            <label for="body" class="label-control">وصف الخدمة</label>
            <textarea class="form-control" cols="4" rows="10" name="body" id="body" v-model="body"></textarea>
        </div>
        <div class="form-group">
            <label for="category_id" class="label-control">التصنيف</label>
            <select class="form-control" name="category_id" id="category_id" v-model="category_id">
                <option>آختر التصنيف</option>
            </select>
        </div>
        <div class="form-group">
            <label for="price" class="label-control">السعر</label>
            <input type="number" name="price" id="price" class="form-control" v-model="price">
        </div>
        <hr>
        <div class="form-group">
            <input type="submit" @click="AddThisServices()" name="submit" value="اضافة الخدمة" class="btn btn-primary">
        </div>
    </form>
</template>

<script>
    export default {
        data: function(){
            return{
                name: '',
                image: '',
                body: '',
                category_id: '',
                price: ''
            }
        },
        methods:{
            AddThisServices: function(){
                const formdata = new FormData();
                formdata.append('name', this.name);
                formdata.append('image', this.$els.image.files[0]);
                formdata.append('body', this.body);
                formdata.append('category_id', this.category_id);
                formdata.append('price', this.price);
                this.sendData(formdata);
            },
            sendData: function(){
                this.$http.post('/addServices', formdata).then(function(response){

                }, function (response){

                });
            }
        }
    }
</script>

我正在等待知道问题出在哪里,因为我是laravel的新手,并且已经搜索了很多东西,但是我找不到任何问题,请帮帮我!

app.js

require('./bootstrap.js');

import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);
import VueResource from 'vue-resource';
Vue.use(VueResource);

Vue.http.headers.common['X-CSRF-TOKEN'] = document.getElementById('_token').getAttribute('value');

/**
 * Next, we will create a fresh Vue application instance and attach it to
 * the page. Then, you may begin adding components to this application
 * or customize the JavaScript scaffolding to fit your unique needs.
 */

const AddServices = require('./components/services/addservices.vue');
const MyServices = require('./components/services/myservices.vue');
const IncomeOrders = require('./components/orders/incomeorders.vue');
const SendOrders = require('./components/orders/sendorders.vue');

const router = new VueRouter({
    routes: [
        { path: '/', component:{ template: "<p>home</p>"} },
        { path: '/AddServices', component: AddServices },
        { path: '/IncomeOrders', component: IncomeOrders },
        { path: '/SendOrders', component: SendOrders }
    ]
});
const app = new Vue({ router }).$mount('#app')

在您的路线中添加/

Route::post('/addServices','Services/ServicesController@createServices');

我建议暂时将此路由作为您的api放在您的api.php ,并以/api/addServices调用,然后在将来将auth:api与令牌一起使用

也许这会有所帮助:

<form class="form-vertical" v-on:submit.prevent="AddThisServices()">
    <div class="form-group">
        <label for="name" class="label-control">اسم الخدمة</label>
        <input type="text" name="name" id="name" v-model="name" class="form-control">
    </div>
    <div class="form-group">
        <label for="image" class="label-control">معرض الخدمة</label>
        <input type="file" id="image" v-el:image>
    </div>
    <div class="form-group">
        <label for="body" class="label-control">وصف الخدمة</label>
        <textarea class="form-control" cols="4" rows="10" name="body" id="body" v-model="body"></textarea>
    </div>
    <div class="form-group">
        <label for="category_id" class="label-control">التصنيف</label>
        <select class="form-control" name="category_id" id="category_id" v-model="category_id">
            <option>آختر التصنيف</option>
        </select>
    </div>
    <div class="form-group">
        <label for="price" class="label-control">السعر</label>
        <input type="number" name="price" id="price" class="form-control" v-model="price">
    </div>
    <hr>
    <div class="form-group">
        <input type="submit" name="submit" value="اضافة الخدمة" class="btn btn-primary">
    </div>
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM