Saltar la navegación

2.1.- Envío de datos usando método GET.

Flecha apuntando a un rectángulo abierto.
janjf93 (Pixabay License)

Hemos implementado el siguiente archivo PHP que simplemente muestra los datos recibidos -bien sea por una petición GET o POST- (nombre y apellidos) y la hora del servidor. Este archivo llamado procesar.php deberás situarlo en la carpeta htdocs de tu servidor ya que será al que realicemos la petición.

<?php
	// Imprimimos un mensaje con los textos recibidos
	if (isset($_GET['nombre']))
		echo "<p>Saludos desde el servidor: hola {$_GET['nombre']} {$_GET['apellidos']}.</p>";
	else if (isset($_POST['nombre']))
		echo "Saludos desde el servidor: hola {$_POST['nombre']} {$_POST['apellidos']}. ";
		
	// Mostramos la fecha y hora del servidor web.
	echo "<p>La fecha y hora del Servidor Web: ";
	echo date("j/n/Y G:i:s"); 
	echo "</p>";
?>

En la petición GET, los parámetros que pasemos en la solicitud, se enviarán formando parte de la URL. Por ejemplo: http://localhost/procesar.php?nombre=Bob&apellidos=Esponja. Cuando realizamos la petición por el método GET, llamamos al método send, sin argumentos, ya que los datos son enviados a la página procesar.php, formando parte de la URL: send().

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>DWEC07.- Ejemplo método GET</title>
		<script type="text/javascript">
			let peticion;
			const iniciar = () => {
				peticion = new XMLHttpRequest();
				peticion.open('GET', "http://localhost/procesar.php?nombre=Bob&apellidos=Esponja"); 
				peticion.send();
				peticion.addEventListener("load", cargada);
			}

			const cargada = () => {
				document.getElementById("resultados").innerHTML = peticion.responseText;
			}

			window.addEventListener("load", iniciar, false);
		</script>
		<style>
			#resultados{
				background: yellow;
			}
		</style>
	</head>
	<body>
		<p>
			A continuación se cargarán por AJAX los datos recibidos en la solicitud ASINCRONA:
		</p>
		<p>
			Contenedor resultados:
			<div id="resultados"></div>
		</p>
	</body>
</html>