我正在尝试将数据从vue组件保存到数据库,但是在我的开发工具上只会显示500(内部服务器错误)。
我一步一步地删除了我的代码,以查看失败的地方一切正常,直到我添加了save();对我的数据库起作用
Vue组件
<template>
<form @submit.prevent="submit">
<div class="form-group">
<input type="text" class="form-control" name="name" id="name" v-model="fields.name" />
<div v-if="errors && errors.name" class="text-danger">{{ errors.name[0] }}</div>
</div>
<div class="form-group">
<input type="text" class="form-control" name="post" id="post" v-model="fields.post" />
<div v-if="errors && errors.post" class="text-danger">{{ errors.post[0] }}</div>
</div>
<button type="submit" class="btn btn-primary">Send message</button>
<div v-if="success" class="alert alert-success mt-3">
Message sent!
</div>
</form>
Vue组件脚本
<script>
export default {
data() {
return {
fields: {},
errors: {},
success: false,
loaded: true,
}
},
methods: {
submit() {
if (this.loaded) {
this.loaded = false;
this.success = false;
this.errors = {};
axios.post('/adminquickannc', this.fields).then(response => {
this.fields = {}; //Clear input fields.
this.loaded = true;
this.success = true;
}).catch(error => {
this.loaded = true;
if (error.response.status === 422) {
this.errors = error.response.data.errors || {};
}
});
}
},
},
}
</script>
控制器 //我的控制器代码将其保存在数据库中
use App\Post;
use Illuminate\Http\Request;
public function store(Request $request)
{
// Validation
$this->validate($request, [
'name' => 'required',
'post' => 'required|max:500|min:10'
]);
// Variables we needed
$name = $request->input('name');
$post = $request->input('post');
// Saving the post to database
$post = new Post();
$post->name = $name;
$post->post = $post;
$post->save();
}
我希望此代码将数据保存到我的数据库中,这种保存方法安全吗?你们能给我提供工具,在哪里可以更具体地指出这样的错误,以便我可以了解失败的地方吗?谢谢你们!