J'ai ce code dans mon fichier vue
saveProfile() {
axios.patch('/api/pegawai/' + this.id, {
data: this.data
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
et dans mon laravel contrôleur
public function update(Request $request, $id){
return $this->sendResponse('request retrieved');
}
public function sendResponse($message){
$response = [
'success' => true,
'message' => $message,
];
return response()->json($response, 200);
}
lorsque j'exécute le fichier vue pour transmettre les données au contrôleur il devrait me donner une réponse json à la console du navigateur avec la valeur suivante
{
'success' : true,
'message' : 'request retrieved'
}
mais actuellement ça donne moi une erreur 500 internal server error
via la console du navigateur. J'obtiens le même résultat si je remplace axios.patch
avec axios.put
.
--- Ce que j'ai essayé ---
J'ai essayé de faire axios.post
et axios.get
avec les mêmes scénarios que axios.patch
et les deux fonctionnent correctement. Contrôleur de poste et obtenez:
public function store(Request $request){
return $this->sendResponse('request retrieved');
}
public function index(){
return $this->sendResponse('request retrieved');
}
réellement HTTP PUT
n'est pas reconnu par la norme html. essayez de faire du hack comme ça:
saveProfile() {
axios.post('/api/pegawai/' + this.id, {
data: this.data,
_method: 'patch'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}