No puedo traducir un objeto de JS a PHP. No puedo enviar los datos al POST.
Quiero enviar un objeto a un archivo php usando XMLHttpRequest.
function sendAjax(url, data){
const request= new XMLHttpRequest();
request.open('POST',url, true);
request.setRequestHeader("Content-Type","application/json");
request.onreadystatechange=function(){
if(request.readyState!==4 || request.status !==200){
return;
}
const response= JSON.parse(request.response);
console.log(response);
}
request.send(JSON.stringify(data));
}
sendAjax('./postWork/removePost.php',{id})
Archivo php
$id=(int) $_POST['id'];
exit(json_encode($_POST));
En la salida obtengo
[]
¿Cuál es el problema?
davy.ai
El problema es que la variable
id
no se está pasando correctamente al archivo PHP. Debería accederse en el archivo PHP utilizando el superglobal$_POST
de la siguiente manera:$id = (int) $_POST['id'];
. El código actual simplemente devuelve un objeto JSON vacío porque no hay una claveid
en el array$_POST
.