Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在Laravel中保存数据时出现意外重定向(302)错误?_Laravel_Vue.js_Vue Component_Http Status Code 302_Inertiajs - Fatal编程技术网

为什么在Laravel中保存数据时出现意外重定向(302)错误?

为什么在Laravel中保存数据时出现意外重定向(302)错误?,laravel,vue.js,vue-component,http-status-code-302,inertiajs,Laravel,Vue.js,Vue Component,Http Status Code 302,Inertiajs,在我的应用程序中,在尝试保存数据时出现错误302。我在这里张贴我的代码,请有人看看这个并帮助我 HolidayAdd.vue <template> <layout> <div class="container"> <form @submit.prevent="handleSubmit"> <div class="form-group">

在我的应用程序中,在尝试保存数据时出现错误302。我在这里张贴我的代码,请有人看看这个并帮助我

HolidayAdd.vue

    <template>
    <layout>
        <div class="container">
            <form @submit.prevent="handleSubmit">
                <div class="form-group">
                    <label for="fname">First Name</label>
                    <input id="fname" type="text" class="form-control" name="ftname" placeholder="Enter your First Name" v-model="holiday.fname">
                </div>
                <div class="form-group">
                    <label for="lname">Last Name</label>
                    <input id="lname" type="text" class="form-control" name="lastname" placeholder="Enter your Last Name" v-model="holiday.lname">
                </div>
                <div class="form-group">
                    <label for="sdate">Start Date</label>
                    <input type="date" class="form-control" name="sdate" v-model="holiday.sdate" id="sdate">
                </div>
                <div class="form-group">
                    <label for="edate">End Date</label>
                    <input type="date" class="form-control" name="edate" v-model="holiday.edate" id="edate">
                </div>
                <button class="btn btn-info">Apply</button>
            </form>
        </div>
    </layout>
</template>

<script>
import Layout from './../../Shared/Layout'
export default {
    components: {
        Layout
    },
    data() {
        return {
            holiday: {
                fname: '',
                lname: '',
                sdate: '',
                edate: ''
            }
        }
    },
    methods: {
        async handleSubmit() {
            let response = await this.$inertia.post('/holiday', this.holiday)
        }
    }
}
</script>
web.php

public function store(Request $request)
    {

        $holiday = $request->validate([
            'firstname' => 'required',
            'lastname' => 'required',
            'startdate' => 'required',
            'enddate' => 'required'
        ]);

        Holiday::create($holiday);

        return redirect()->route('holiday.index');
    }
 Route::group(['middleware' => 'auth'], function() {
    Route::resource('holiday', 'HolidayController');
 });

据我所知,没有错误,那么为什么我在这里得到一个302错误?

发生这种情况是因为您的商店操作验证。你需要改变

holiday: {
            fname: '',
            lname: '',
            sdate: '',
            edate: ''
        }


然后将v-model更改为新名称。然后,您需要在前端进行一些验证。另外,如果请求是ajax,则不应返回重定向响应。

非常感谢您的回答。我更改为您的答案,现在数据保存在数据库中并重定向到预期页面。但是,它仍然抛出302错误代码。这是因为存储和索引具有相同的URI中间件吗?如果请求是ajax,则不应返回重定向响应。您可以返回可能包含成功消息的json,以便在前端使用它。
holiday: {
            'firstname' : '',
            'lastname' : '',
            'startdate' : '',
            'enddate' : ''
        }