I have a problem that puzzles me. I have an ajax function that sends a json object, and I see the JSON parsed in the F12 Chrome Headers, and I receive the success alert.
$(document).ready(function() {
        var test = {'bob':'foo','paul':'dog'};
        $.ajax({
            url: "test.php",
            type: 'POST',
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(test),
            success: function(data) {
                alert("Bien: " + data);
            },
            failure: function(errMsg) {
                alert("Mal: " + errMsg);
            }
        });
});
But in my PHP page I cannot see any POST, anything. I can see that my post is received but anything else:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
   echo "post"; //Result 'post'
}
foreach( $_POST as $stuff ) {
    echo $stuff; //Nothing at all
}
print_r(json_decode($_POST["data"], true)); // Undefined index: data
In the same code I use
$.post( "test.php", { data: { name: "John", time: "2pm" } } );
and works, then is something related with the code, but I cannot really see waht is it.
Thank you for your help!
 
    