如何检索axios post请求发送的php中的变量

2022-02-22 00:00:00 axios php javascript ajax vue.js

我要向PHP脚本发送POST请求。我正在使用Axios:

axios.post('inc/vote.php', {
    id: this.selected,
}) .then(function (response) {
    console.log(response);
});

在PHP文件中,我尝试这样从axios检索id变量:

$id = $_POST['id'];

但它似乎什么也没做。

从请求中检索变量的正确方式是什么?


解决方案

Axios将数据作为请求正文中的JSON发送,而不是作为表单数据。因此您不能使用$_POST['id']访问帖子数据。

前端解决方案

若要能够使用$_POST['id']访问数据,您必须使用FormData,如下所示:

var form = new FormData();
form.append('id', this.selected);
axios.post('inc/vote.php', {
    form
  }) .then(function (response) {
    console.log(response);
  });

后端解决方案 如果您希望以关联数组的形式获取请求正文,可以使用:

$data = json_decode(file_get_contents("php://input"), TRUE);
$id = $data['id'];

相关文章