try putting a / before items in your axios request?
export const updateItem = ({ commit, dispatch }, payload) => {
return axios.put('/items/' + payload.id, payload).then((response) => {
return Promise.resolve(response)
})
}
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I'm facing some issue with Laravel-vuejs/axios PUT and PATCH requests. Actually the PUT/PATCH request are working when I run the project in localhost. But when I tried the same project in hosting server, I don't know why only these two requests are not working. Remaining methods GET/POST/DELETE are working as expected. But when I perform PUT/PATCH request to my server, in my controller I'm not receiving any data sent from vue/axios request.
My code
axios request from vue component
export const updateItem = ({ commit, dispatch }, payload) => {
return axios.put('items/' + payload.id, payload).then((response) => {
return Promise.resolve(response)
})
}
web.php
Route::put('/items/{item}', 'ItemController@update')->name('items.update');
ItemController
public function update(Request $request, Item $item)
{
try {
$item->update([
'name' => $request->name,
'price' => $request->price,
]);
} catch (QueryException $e) {
return $e->errorInfo;
}
return response()->json($item, 200);
}
Please or to participate in this conversation.