Estoy tratando de enviar algunos valores desde un archivo javascript con POST a una página php.
codigo ajax:
let inputval = $input.val(); $.ajax({url: "../checkout/test.php", type : 'post', data : {'inputval': inputval}, success: function(data){ console.log(data); }codigo PHP
if (isset($_POST['inputval'])){ $result = $_POST['inputval']; echo json_encode($result); } else { echo 'Not recieved'; }Cuando reviso en las redes todo es como se esperaba, pero cuando abro la página real, no se reciben los datos.
cuando abro la página real, los datos no se reciben.
Primero realiza una solicitud POST usando JavaScript. Los datos son visibles en la pestaña de red. Se envió al programa PHP. El programa PHP responde. La respuesta se registra en la consola.
Luego "abre la página real". Esta es una nueva solicitud . No es la solicitud POST con los datos. $_POST estará vacío esta vez. La respuesta será la respuesta a la nueva solicitud, no la solicitud POST anterior. Dado que el contenido de la respuesta depende de $_POST y eso ha cambiado, esta respuesta es diferente.
Si desea almacenar los datos de inputval de la primera solicitud y luego mostrarlos en solicitudes posteriores, debe almacenarlos explícitamente en algún lugar (como una base de datos o una variable de sesión) y luego verificar esa ubicación en busca de datos cuando reciba la solicitud posterior.
La lógica sería algo como:
IF this is a POST request store the inputval in the session send a confirmation message to the client ELSE IF the session contains an inputval send it to the client ELSE send a message to say that there is no data to the client