De acuerdo, ejecutar esto en un entorno Node.JS (usando node-fetch) funciona bien, devuelve el resultado esperado.
fetch(`<URL>/api.php?f=developmentIsAnnoying2`,{method:"post",body:JSON.stringify({time:0,queue:["a song"], repeat:false,loop:false})}).then(d=>d.text()).then(console.log);
Pero ejecutar el mismo código en Google Chrome, usando el mismo dominio, devuelve un resultado absolutamente en blanco. No hay errores, de ningún lado (cliente, php, ni API).
PHP:
header("Content-Type: application/json"); switch($_SERVER['REQUEST_METHOD']) { case "POST": echo file_get_contents('php://input'); break; default: echo '{"message":"This is a place holder."}'; break; }
¿¡Cual es el trato!?
Un moderador eliminó mi última respuesta, así que aquí está la respuesta nuevamente;
Por alguna razón, se enoja con el encabezado JSON, a pesar de que SIEMPRE se supone que todos los datos son JSON, y se usaron de esa manera en las pruebas.
Entonces, tuve que eliminar esta parte:
header("Content-Type: application/json");