我在使用Laravel-vuejs / axios PUT和PATCH请求时遇到了一些问题。实际上,当我在localhost中运行项目时,PUT / PATCH请求正在工作。但是当我在托管服务器上尝试相同的项目时,我不知道为什么只有这两个请求不起作用。剩余的方法GET / POST / DELETE按预期工作。但是当我向我的服务器执行PUT / PATCH请求时,在我的控制器中我没有收到从vue / axios请求发送的任何数据。
// 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 Route
Route::put('/items/{item}', 'ItemController@update')->name('items.update');
//ItemController
public function update(Request $request, Item $item)
{
$request->validate([
'name' => 'required|string|max:50',
'price' => 'required|numeric|min:0',
]);
try {
$item->update([
'name' => $request->name,
'price' => $request->price,
]);
} catch (QueryException $e) {
return $e->errorInfo;
}
return response()->json($item, 200);
}