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?
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'];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With