Método post() de jQuery ajax

Ejemplo

Solicitar la página web test.php, ignorar el valor devuelto:

$.post("test.php");

Ejemplo TIY

Cambiar el texto del elemento div mediante una solicitud AJAX POST:

$("input").keyup(function(){
  txt=$("input").val();
  $.post("demo_ajax_gethint.asp",{suggest:txt},function(result){
    $("span").html(result);
  });
});

Prueba tu mismo

Definición y uso

El método post() carga datos del servidor mediante una solicitud HTTP POST.

Sintaxis

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)
Parámetros Descripción
url Obligatorio. Especifica a qué URL se envía la solicitud.
data Opcional. Mapeo o valor de cadena. Especifica los datos que se envían junto con la solicitud al servidor.
success(data, textStatus, jqXHR) Opcional. Función de devolución de llamada ejecutada cuando la solicitud tiene éxito.
dataType

Opcional. Especifica el tipo de datos de respuesta del servidor esperado.

Por defecto, realiza una evaluación inteligente (xml, json, script o html).

Descripción

Esta función es una versión abreviada de la función Ajax, equivalente a:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

De acuerdo con los diferentes tipos MIME de respuesta, los datos devueltos pasados al callback success también son diferentes, estos datos pueden ser el elemento raíz XML, cadena de texto, archivo JavaScript o objeto JSON. También se puede pasar el estado de texto de respuesta al callback success.

Para jQuery 1.5, también se puede pasar el objeto jqXHR(jQuery 1.4 transmite el objeto XMLHttpRequest)。

La mayoría de las implementaciones establecerán una función success:

$.post("ajax/test.html", function(data) {
  $(".result").html(data);
});

Este ejemplo lee el fragmento HTML solicitado e inserta en la página.

Las páginas leídas mediante POST no se almacenan en caché, por lo tanto jQuery.ajaxSetup() las opciones cache y ifModified no afectan estas solicitudes.

Notas:Debido a las limitaciones de seguridad del navegador, la mayoría de las solicitudes "Ajax" siguen la política de origen; no se puede recuperar datos con éxito desde dominios, subdominios o protocolos diferentes.

Notas:Si la solicitud iniciada por jQuery.post() devuelve un código de error, no habrá ninguna notificación a menos que el script ya haya llamado la método .ajaxError(). O para jQuery 1.5, el método .error() de la función jqXHR devuelta por jQuery.post() también se puede utilizar para el manejo de errores.

el objeto jqXHR

Para jQuery 1.5, todos los métodos Ajax de jQuery devuelven un superconjunto del objeto XMLHTTPRequest. El objeto jQuery XHR devuelto por $.post() o "jqXHR," implementa el interfaz de convenio, proporcionándole todas las propiedades, métodos y comportamientos acordados. Debido a $.ajax() Considerando la facilidad y consistencia de los nombres de las funciones de retroalimentación utilizadas, proporciona métodos .error(), .success() y .complete(). Estas funciones utilizan como parámetros las funciones llamadas cuando se termina la solicitud, que aceptan los mismos parámetros que las funciones de retroalimentación $.ajax() correspondientes.

El interfaz de convenio en jQuery 1.5 permite a los métodos Ajax de jQuery, incluyendo $.post(), enlazar múltiples funciones de retroalimentación .success(), .complete() y .error() para la misma solicitud, e incluso asignar estas funciones de retroalimentación después de que la solicitud pueda haberse completado.

// Después de generar la solicitud, asigna inmediatamente el procesador, recuerda que esta solicitud es para el objeto jqxhr
    var jqxhr = $.post("example.php", function() {
      alert("success");
    })
    .success(function() { alert("second success"); })
    .error(function() { alert("error"); })
    .complete(function() { alert("complete"); });
    // Ejecutar otras tareas aquí
    // Establecer otra función de finalización para la solicitud superior
    jqxhr.complete(function(){ alert("second complete"); });

Más ejemplos

Ejemplo 1

Solicitar la página test.php y enviar algunos datos adicionales (ignorando aún así el valor devuelto):

$.post("test.php", { name: "Bill", time: "2pm" });

Ejemplo 2

Enviar un array de datos al servidor (ignorando aún así el valor devuelto):

$.post("test.php", { 'choices[]': ["Jon", "Susan"] });

Ejemplo 3

Enviar datos del formulario utilizando solicitudes Ajax:

$.post("test.php", $("#testform").serialize());

Ejemplo 4

Mostrar los resultados de la solicitud de la página test.php (HTML o XML, dependiendo del contenido devuelto):

$.post("test.php", function(data){
   alert("Carga de datos: " + data);
 });

Ejemplo 5

Enviar datos a la página test.php y mostrar los resultados (HTML o XML, dependiendo del contenido devuelto):

$.post("test.php", { name: "Bill", time: "2pm" },
   function(data){
     alert("Carga de datos: " + data);
   });

Ejemplo 6

Obtener el contenido de la página test.php y almacenarlo como objeto XMLHttpResponse, y procesarlo mediante la función JavaScript process():

$.post("test.php", { name: "Bill", time: "2pm" },
   function(data){
     process(data);
   }, "xml");

Ejemplo 7

Obtener el contenido en formato json devuelto por la página test.php:

$.post("test.php", { "func": "getNameAndTime" },
   function(data){
     alert(data.name); // Bill
     console.log(data.time); //  2pm
   }, "json");