vueファイルにこのコードがあります
saveProfile() {
axios.patch('/api/pegawai/' + this.id, {
data: this.data
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
そして、my laravel controller
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);
}
vueファイルを実行してデータをコントローラーに渡すとき)それが必要次の値でブラウザーコンソールにjson応答を返します
{
'success' : true,
'message' : 'request retrieved'
}
しかし、現在はそれが与えられますブラウザコンソールを介して500 internal server error
エラーが発生します。 axios.patch
をaxios.put
に置き換えても同じ結果になります。
---私が試したこと---
axios.post
と同じシナリオでaxios.get
とaxios.patch
を実行しようとしましたが、両方とも正常に動作しています。 postおよびgetのコントローラー:
public function store(Request $request){
return $this->sendResponse('request retrieved');
}
public function index(){
return $this->sendResponse('request retrieved');
}
実際にHTTP PUT
は、HTML標準では認識されません。次のようにハックしてみてください:
saveProfile() {
axios.post('/api/pegawai/' + this.id, {
data: this.data,
_method: 'patch'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}