Laravel PUT / PATCH请求不获取请求有效负载

时间:2017-10-30 15:47:43

标签: laravel vuejs2 put axios laravel-5.5

我在使用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);
}

0 个答案:

没有答案