Soy nuevo en esta parte de la comunicación entre el sitio del cliente y el servidor. Mi cliente es js, que busca el objeto en el script php llamado server.php.
registro.js
let json = { name: name, date: date, phone: phone, }; const options = { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(json), }; fetch( `http://localhost/php/server.php/registration`, options );¿Cómo puedo saber si la solicitud es una solicitud de registro o algo más?
Si creo en el script server.php
if (isset($_POST'['registration']) { ... } php dice que no está configurado $_POST'['registration'];
$_POST contiene datos que son:
application/x-www-form-urlencoded o multipart/form-data El cuerpo de su solicitud está codificado como application/json , por lo que $_POST estará en blanco y registration aparecerá en la URL, no en el cuerpo de la solicitud de todos modos.
Busque $_SERVER[PATH_INFO] en su lugar.
Contiene cualquier información de nombre de ruta proporcionada por el cliente después del nombre de archivo de script real pero antes de la cadena de consulta, si está disponible. Por ejemplo, si se accedió al script actual a través de la URL http://www.example.com/php/path_info.php/some/stuff?foo=bar , entonces $_SERVER['PATH_INFO'] contendría /some/stuff .