Axios发布完全不发送数据...设置表格发布标头无法正常工作

时间:2019-10-23 15:59:18

标签: axios

无法弄清楚这一点,看到几个回答说该对象被编码为JSON,这很好,但是事实并非如此。

axios.post('/api/calculate', {
    term: 12,
    borrowAmount: 1000,
    depositPercent: 40
}, {
    headers: { 'X-CSRF-TOKEN': window.csrf_token }
})
.then(response => {
    this.response = response.data;
});

据我了解,post方法中的 second 参数是数据,该数据将转换为JSON,但是这没有发生,$_POST只是空的...

即使此方法确实有效,也确实有点废话,因为我随后不得不考虑在端点内接收JSON字符串,而不是像常规形式那样仅使用$_POST数组...

1 个答案:

答案 0 :(得分:0)

因此,找到了解决此问题的方法。基本上是由于Axios没有发布具有以下两种内容类型的数据:

  • application / x-www-form-urlencoded
  • multipart / form-data-encoded

相反,它使用的是application/json

此代码将解决问题:

if (empty($_POST)) {
    $_POST = json_decode(file_get_contents('php://input'), true);
}