Axios post根本不发送数据。。。设置表单post标题不需要';我不能正常工作

Axios post根本不发送数据。。。设置表单post标题不需要';我不能正常工作,axios,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; });

无法理解这一点,看到一些答案说对象编码为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
方法中的第二个参数是数据,它将被转换为JSON,但是这并没有发生,
$\u post
只是空的


即使这确实有效,但这确实有点糟糕,因为我必须考虑在我的端点内接收一个JSON字符串,而不是像普通表单一样只接收一个
$\u POST
数组

所以,我们找到了解决这个问题的方法。基本上,这是因为Axios没有发布具有以下任一内容类型的数据:

  • 应用程序/x-www-form-urlencoded
  • 多部分/表单数据编码
相反,它使用的是
application/json

此代码将修复此问题:

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

请求是否到达您的服务器,您是否看到(我猜)代码200?我唯一能建议的是尝试使用不带标题的最简单的请求,看看是否有更改并继续there@JohnSmith我试图通过
{test:'hello'}
来保持它的简单性,但这不起作用,我还删除了头。是的,我得到了200的回复