php - Laravel PATCH 请求不读取 Axios 表单数据

标签 php reactjs laravel axios

我正在尝试向 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 请求打印一个空数组 []

最佳答案

可悲但真实,当从浏览器请求时,Laravel 没有正确响应 PATCH 或 PUT 请求。

一个快速的解决方案可能是使用 POST 并添加 _method: PATCH 作为 post 参数。

请尝试使用此更新的代码

let data = new FormData();
data.append("_method", 'PATCH');
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 : "POST",
  baseURL: this.baseURL,
  url    : url,
  params : params,
  data   : data,
  headers: headers,
}).then(response => {
  return response
})

可以在 axios.patch / axios.put is not working in Vue and Laravel 中找到相同问题的另一个示例

关于php - Laravel PATCH 请求不读取 Axios 表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55116787/

相关文章:

php - 删除父元素,使用 saveHTML 将所有内部子元素保留在 DOMDocument 中

reactjs - React 导航不变违规 : Attempt to get native tag

javascript - 在 .then 中访问 props (React/redux)

VSCode 中的 Laravel 9 + PHP 8.0.8 显示语法错误,意外的 '->' (T_OBJECT_OPERATOR)

javascript - 在 CodeIgniter 的外部 JS 文件中复制 base_url

javascript - 如何清除图像的输入字段onclick?

PHP:函数参数的动态默认值

javascript - 如何在容器类组件中使用 GraphQL 查询

php - 模拟 Eloquent 模型

php - 错误号 : 150 "Foreign key constraint is incorrectly formed" but check everything I know