我正在尝试向Laravel 5.6 api发送Axios PATCH请求。我的请求包含一个FormData。
Laravel的api端点不读取任何发送的数据。
ReactJS代码
let data = new FormData();
data.append("photo", this.state.photo);
// append another data ....
const headers = {
'Content-Type': 'multipart/form-data',
'enctype' : 'multipart/form-data',
'Authorization' : 'Bearer ' + token
}
axios({
method : "PATCH",
baseURL: this.baseURL,
url : url,
params : params,
data : data,
headers: headers,
}).then(response => {
return response
})
Laravel补丁请求
public function update(Request $request, $planId)
{
$data = $request->all();
dd($data);
}
Laravel请求打印一个空数组[]
。
2条答案
按热度按时间dced5bon1#
遗憾的是,当从浏览器请求时,Laravel没有正确响应PATCH或PUT请求。
快速解决方案可能是使用
POST
并添加_method: PATCH
作为后期参数。请尝试使用此更新代码
同样问题的另一个例子可以在axios.patch / axios.put is not working in Vue and Laravel中找到
r7s23pms2#
因为HTML标准无法识别HTTP PUT。
您只需要添加POST类型的方法,但对于更新,您可以为PUT/PATCH类型的操作添加带有POST请求的小标志。