如何检索由axios发送请求发送的php中的变量[重复]

This question already has an answer here:

I want to send a POST request to a PHP script. I am using Axios:

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

In the PHP file I am trying something like this to retrieve that id variable from axios:

$id = $_POST['id'];

But seems it is not doing anything.

What is the correct way to retrieve variables from the request?

</div>

Axios sends data as a JSON inside request body not as a Form Data. So you can't access the post data using $_POST['id'].

Frontend Solution

To be able to access data using $_POST['id'] you have to use FormData as the following:

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

Backend Solution if you are interested in getting the request body as associative array you can use:

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