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 :-)