为什么在Laravel中保存数据时出现意外重定向(302)错误?
在我的应用程序中,在尝试保存数据时出现错误302。我在这里张贴我的代码,请有人看看这个并帮助我 HolidayAdd.vue为什么在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">
<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' : ''
}