我试图使用vue js和laravel创建一个Crud系统。
我已经创建了api路由等等...
但是当我单击“提交”时,我收到消息405 (Method Not Allowed)
这里是我的AddArtist.vue
文件
<form @submit.prevent="add">
<input type="text" class="form-control" v-model="artist.name" placeholder="Artist Name">
<button class="btn btn-success" type="submit">Save</button>
</form>
<script>
export default {
data: function () {
return {
errors: [],
image: '',
artist: {
name: '',
}
}
},
methods: {
add() {
axios.post('/api/artist/store-artist', this.$data.artist)
.then((response) => {
alert('Success add Artist')
console.log(response)
})
},
},
mounted() {
console.log('Add Artist Mounted.')
}
}
</script>
和我的api.php
路线
Route::group(['middleware' => 'cors'], function(){
Route::post('addartist/store-artist', 'ArtistController@store');
});
这里是我的控制器ArtistController.php
public function store(Request $request)
{
$input = $request->all();
dd($input);
}
最后一个是我的模型Artist.php
class Artist extends Model
{
protected $table = 'artist';
protected $fillable = ['artist_name', 'date_birth', 'cover', 'gender'];
}
答案 0 :(得分:0)
这是拼写错误:
将路线中的addartist/store-artist
更改为artist/store-artist
您的api是:
Route::group(['middleware' => 'cors'], function(){
Route::post('addartist/store-artist', 'ArtistController@store');
});
你正在做:
axios.post('/api/artist/store-artist', this.$data.artist)
.then((response) => {
alert('Success add Artist')
console.log(response)
})