Home » Php » javascript – How to retrieve variables in php sent by axios post request

javascript – How to retrieve variables in php sent by axios post request

Posted by: admin July 12, 2020 Leave a comment

Questions:

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?

How to&Answers:

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'];