Я получаю эту ошибку: POST {url} 422 (Unprocessable Entity) при попытке загрузить данные в мое веб-приложение. Я использую Laravel и Vue.js.
Это приложение очень простое, и я снова работаю над ним после 1 месяца бездействия. Я сделал это с нуля, и странным было то, что я оставил его работающим идеально, но теперь, когда я делаю тестирование снова, эта ошибка вырывается из ниоткуда.
Это мой метод, который хранит данные в моем компоненте Vue:
methods: {
getImage: function(e){
let file = e.target.files[0];
this.avatar = file;
},
saveTrainer: function(){
let currentRoute = window.location.pathname;
axios.post(`http://127.0.0.1:8000${currentRoute}`, {
name: this.name,
slug: this.slug,
description: this.description,
avatar: this.avatar
})
.then(function(res){ //res = response
console.log(res)
$('#addTrainer').modal('hide')
EventBus.$emit('trainer-added', res.data.trainer)
})
.catch(function(err){
console.log(err)
});
}
}
И функция в моем контроллере:
public function store(StoreTrainerRequest $request)
{
if($request->ajax()){
$trainer = new Trainer();
if($request->hasFile('avatar')){
$file = $request->file('avatar');
$name = time().$file->getClientOriginalName();
$file->move(public_path().'/images/', $name);
}
$trainer->name = $request->input('name');
$trainer->description = $request->input('description');
$trainer->avatar = $name;
$trainer->slug = $request->input('slug');
$trainer->save();
return redirect()->route('trainers.index');
}
}
Это то, что я вижу в моем браузере и это ответ, который я получаю
Также это содержимое StoreTrainerRequest
Спасибо за помощь.
РЕДАКТИРОВАТЬ: я уже использую FormData (), ноэто ничего не меняет. Это очень странная вещь, потому что, как я уже сказал, когда я работал над этим приложением 1 месяц назад, все было в порядке