У меня небольшая проблема с моим компонентом Laravel / Vue. Я попытался сделать компонент формы, в котором вы можете просто определить путь и категорию как статические переменные.
Теперь я хочу получить доступ к нему в axios.post, но он не работает:
create.blade.php (бэкэнд-сайт для создания чего-либо)
<!DOCTYPE html>
<html lang="en">
@include('includes.header')
<body>
<div id="app" class="wrapper">
<nav-component></nav-component>
<form-component kategorie ='achievement' senden='/achievement'></form-component>
</div>
<script src="/js/app.js"></script>
</body>
</html>
И Vue Component для формы-компонента:
export default {
props: ['kategorie', 'senden'],
data: function() {
return {
title: '',
description: '',
text: '',
category: this.kategorie,
errors: new Errors()
}
},
methods: {
onSubmit() {
axios.post({data:this.senden}, {
title: this.title,
description: this.description,
text: this.text,
category: this.category
})
.then(this.onSuccess)
.catch(error => this.errors.record(error.response.data.errors));
},
onSuccess(response) {
alert(response.data.message);
this.title = '';
this.description = '';
this.text = '';
}
},
http:{
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
}
}
Класс ошибок, который содержит hasOwnProperty
class Errors {
constructor() {
this.errors = {}
}
get(field) {
if (this.errors[field]) {
return this.errors[field][0];
}
}
record(errors) {
this.errors = errors;
}
clear(field) {
delete this.errors[field];
}
has(field) {
return this.errors.hasOwnProperty(field);
}
any() {
return Object.keys(this.errors).length > 0;
}
}
Laravel Controller store
$this->validate(request(), [
'title' => 'required',
'description' => 'required',
'text' => 'required',
'category' => 'required'
]);
Achievement::forceCreate([
'title' => request('title'),
'description' => request('description'),
'text' => request('text'),
'category' => request('category')
]);
return ['message' => 'Erfolg erstellt'];
Как я мог сделать это правильно?
Как это плохо получить 405 (метод не разрешен) и ошибка при рендеринге: «TypeError: не удается прочитать свойство 'hasOwnProperty' неопределенного" ошибка