Repasemos la función de jQuery post(), su funcionalidad es la de enviar y/o cargar datos de una URL externa (HTML, PHP…) de forma asíncrona (AJAX) mediante el método HTTP POST.
Esta función también puede cargar una página externa en un div, id, class o similar. Es similar a las funciones de jQuery get() y load(), esta última quedó obsoleta a partir de la versión 1.8.
En definitiva con post() se puede:
Vamos a ver la sintaxis extraída de su web oficial:
$.post(URL, parametros, funcion(datos, estado, xhr), tipoDato)
Veamos los diferentes parámetros de la función:
Vamos a ver en este primer ejemplo de post() cómo cargar una pagína HTML externa en nuestra web:
$(document).ready(function() { $("#boton").click(function(){ $.post("046-ejemplo-jquery-post-pagina-externa02.php", function(htmlexterno){ $("#cargaexterna").html(htmlexterno); }); }); });
Os explico el código del ejemplo:
El código HTML del ejemplo es el siguiente:
<input type="button" id="boton" value="Cargar HTML externo"> <div id="cargaexterna">Aquí se cargará el HTML externo</div>
Vamos a ver en este segundo ejemplo de jquery post() cómo enviar parámetros y mostrar el resultado de la petición AJAX con método GET.
$(document).ready(function() { $("#boton").click(function(){ $.post("046-ejemplo-jquery-post-parametros2.php", {coche: "Ford", modelo: "Focus", color: "rojo"}, function(htmlexterno){ $("#cargaexterna").html(htmlexterno); }); }); });
Os explico el código del segundo ejemplo:
El código PHP necesario en la URL externa para mostrar los parámetros es el siguiente:
$coche = $_POST['coche']; $modelo = $_POST['modelo']; $color = $_POST['color']; echo "El coche es de la marca $coche, el modelo es un $modelo y su color es $color";
El código HTML del ejemplo es el siguiente:
<input type="button" id="boton" value="Enviar parámetros"> <div id="cargaexterna">Aquí se mostrarán los parámetros enviados</div>
Para la detección, control o selección de elementos con jQuery os recomiendo leer este post: