Envío de datos JSON a través de JQuery ajax.post a PHP

Estoy enviando datos a un archivo php a través de AJAX usando POST. Funcionó bien con solo enviar cadenas, pero ahora quería enviar mi objeto JS con JSON y decodificarlo en el lado de PHP.

En la consola puedo ver que mis datos se han enviado correctamente pero en el lado de PHP, json_decode devuelve NULL.

He intentado lo siguiente:

this.getAbsence = function()
{
    alert(JSON.stringify(this));
    jQuery.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "ajax/selectSingle.php?m=getAbsence",
        data: JSON.stringify(this),
        success : function(data){
            alert(data);
        }
    });
}

PHP:

echo $_POST['data'];
echo json_decode($_POST['data']);
echo var_dump(json_decode($_POST['data']));

Y:

this.getAbsence = function()
{
    alert(JSON.stringify(this));
    jQuery.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "ajax/selectSingle.php?m=getAbsence",
        data: {'Absence' : JSON.stringify(this)},
        success : function(data){
            alert(data);
        }
    });
}

PHP:

echo $_POST['Absence'];
echo json_decode($_POST['Absence']);
echo var_dump(json_decode($_POST['Absence']));

La alerta fue solo para comprobar que todo está bien ...

Y sí, la cadena habitual se hizo eco correctamente :-)

Respuestas a la pregunta(4)

Su respuesta a la pregunta