I'm having trouble retreaving or sending data with POST using PHP and angular. I reduced my problem to the easiest case but still the response is an empty array.
Here is my Angular code
this.search = function(){
console.log("searching");
$http({
method: 'POST',
url: 'search/',
data: {search:1, direct: true}
}).then(function successCallback(response) {
console.log(response.data);
}, function errorCallback(response) {
console.log("Error retreaving data.");
console.log(response);
});
}
and my PHP code:
<?php
header('Content-type: application/json');
echo json_encode($_POST) ;
?>
The funny thing is that using GET in both places, it works :/
Angular serializes js objects into JSON to POST, php does not populate the $_POST data structure from a JSON post body, to ge the json data in the post body you'll have to read from php://input
<?php
header('Content-type: application/json');
echo file_get_contents('php://input') ;
?>