Guías de Make it Real
  • Introduction
  • Preparación
    • Conceptos básicos
    • El editor de texto
    • La línea de comandos
    • Git y Github
  • Git
    • Instalación y configuración
    • Conceptos y comandos esenciales
    • Ignorando archivos y carpetas
    • Trabajando con ramas
    • Repositorios remotos
    • Etiquetas
    • Reescribiendo la historia
    • Stashing
    • Github
  • HTML y CSS
    • Introducción a HTML
    • Introducción a CSS
    • Más elementos de HTML
    • Tablas
    • Formularios
    • El modelo de caja en CSS
    • Fondos (backgrounds)
    • Posicionamiento
    • Selectores CSS
    • Bordes, sombras y gradientes
    • Media Queries
    • Unidades en CSS
    • Flexbox
  • Bootstrap 3
    • Primeros pasos
    • Elementos básicos de HTML
    • Componentes
    • La grilla
    • Personalizando Bootstrap
    • Utilizando plantillas
  • Bootstrap 4
    • Primeros pasos
    • Elementos básicos de HTML
    • Componentes
    • La grilla
    • Clases utilitarias
    • Personalizando Bootstrap
  • Ruby
    • Primeros pasos
    • Tipos y operadores
    • Variables y entrada de usuario
    • Condicionales
    • Ciclos
    • Arreglos
    • Más cadenas de texto
    • Hashes
    • Métodos
    • Manipulación de archivos
    • Gemas
  • Programación Orientada a Objetos en Ruby
    • Clases y objetos
    • Métodos y atributos de clase
    • Herencia
    • Módulos
    • Excepciones
  • JavaScript I
    • Primeros pasos
    • Tipos y operadores
    • Variables
    • Condicionales
    • Ciclos
    • Arreglos
    • Más cadenas de texto
    • Funciones
    • Objetos literales
    • Manipulación de archivos
  • JavaScript en el navegador
    • Primeros pasos
    • Manipulando HTML
    • Escuchando eventos
    • Local Storage
    • History API
    • Canvas
    • Notificaciones Web
    • Audio y Video
    • Arrastrar y soltar
    • JSON
    • Realizando peticiones HTTP
  • jQuery
    • Primeros pasos
    • Manipulando HTML
    • Escuchando eventos
    • Plugins
    • Realizando peticiones con AJAX
  • JavaScript II
    • Prototipos
    • Librerías (Node.js)
    • ES6
    • Uso de this (call, apply, bind)
    • Programación funcional
    • Scope, hoisting, closures
    • Programación asincrónica
    • Testing
  • HTTP y Sinatra
    • Primeros pasos con Sinatra
    • El protocolo HTTP
    • Rutas
    • Formularios
    • Cookies y sesión
  • Bases de datos
    • Bases de datos relacionales
    • SQL
    • DDL
    • MongoDB
  • Ruby on Rails I
    • Primeros pasos
    • Arquitectura
    • Rutas
    • Layouts y rendering
    • ActiveRecord - Modelos
    • ActiveRecord - Migraciones
    • ActiveRecord - Validaciones
    • ActiveRecord - Asociaciones
    • ActiveRecord - Scopes
    • ActiveRecord - Callbacks
    • Recursos REST
    • Formularios
    • Autenticación con Devise
    • Sass y Bootstrap
    • Envío de correos
    • Carga de imágenes
    • Seeds
    • Heroku
  • Ruby on Rails II
    • Usando JavaScript (y jQuery) en Rails
    • Testing en Ruby
    • Testing en Rails
    • Creando una Web API
    • Web Sockets
  • Express.js
    • Primeros Pasos
    • El protocolo HTTP
    • Rutas
    • Vistas
    • Middlewares y manejo de errores
    • Formularios
    • Cookies y sesión
  • Express.js II
    • Mongoose
    • Web Sockets
    • Autenticación
    • Envío de correos
    • Cargar imágenes
    • Deployment
    • Testing
    • Creando una Web API
  • React
    • Primeros pasos
    • JSX
    • Componentes
    • Más sobre estado
    • Formularios
    • Peticiones HTTP con Axios
    • React Hooks
    • React Context
    • React Bootstrap
    • React Router
    • Carga de Imágenes
    • Testing
    • Estructura de carpetas
    • Componentes de clase
  • Redux
    • Primeros pasos
    • Action creators
    • Usando la librería react-redux
    • Middlewares
    • Operaciones asincrónicas con redux-thunk
    • Combinando funciones reductoras
    • Testing
    • Redux Tool Kit
  • Algoritmos
    • Describiendo un algoritmo
    • Complejidad (Big-O)
    • Estructuras de datos
    • Recursión
    • Ordenamiento
    • Búsqueda
    • Programación dinámica
  • Python
    • Primeros Pasos
    • Tipos y Variables
    • Funciones
    • Control de Flujo
    • Listas
    • Ciclos
    • Diccionarios, Tuplas y Sets
  • NumPy
    • Primeros Pasos
    • Arreglos
    • Arreglos Multidimensionales
    • Estadística con NumPy
    • Distribución Estadística
  • Pandas
    • Primeros Pasos
    • Inspección y Selección de Datos
    • Modificando Dataframes
    • La Función Lambda
    • Aggregates en Pandas
    • Múltiples Tablas
Powered by GitBook
On this page
  • $.ajax()
  • Enviando información en el cuerpo
  • Otros métodos útiles
  • $.get()
  • $.getJSON()
  1. jQuery

Realizando peticiones con AJAX

AJAX (Asynchronous JavaScript and XML) son un conjunto de tecnologías que te permiten hacer llamados a servidores desde el navegador sin necesidad de refrescar la página.

Aunque es posible realizar llamados AJAX utilizando JavaScript puro, jQuery lo hace mucho más fácil.

$.ajax()

jQuery ofrece varios métodos para realizar llamados AJAX pero el principal es $.ajax() que recibe un objeto como en el siguiente ejemplo:

var request = $.ajax({
  method: "GET",
  url: "http://...../"
});

En este ejemplo estamos realizando una petición de tipo GET. Sin embargo, podríamos omitir el method de este ejemplo porque GET es el valor por defecto.

El objeto que retorna tiene tres métodos: done, fail y always que reciben un callback. El callback de done se dispara cuando la petición es exitosa, el de fail cuando falla y el de always siempre, sin importar si es exitosa o falla:

request.done(function(data) {
  alert(data); // imprimimos la respuesta
});

request.fail(function() {
  alert("Algo salió mal");
});

request.always(function() {
  alert("Siempre se ejecuta")
});

Puedes encadenar los métodos de la siguiente forma para hacer el código más compacto:

$.ajax({
  method: "GET",
  url: "http://...../"
}).done(function(data) {
  alert(data); // imprimimos la respuesta
}).fail(function() {
  alert("Algo salió mal");
}).always(function() {
  alert("Siempre se ejecuta")
});

Enviando información en el cuerpo

Para hacer peticiones que envían información en el cuerpo (usualmente cuando haces POST, PUT ó PATCH) debes utilizar la llave data. Por ejemplo:

$.ajax({
  method: "POST",
  url: "http://...../",
  data: { name: "Pedro" }
});

Por defecto, data se envía como si fuera información de un formulario, utilizando application/x-www-form-urlencoded como Content-Type.

Para enviar otro formato como JSON, por ejemplo, debes convertir el objeto que le pasas a data en una cadena de texto y utilizar contentType de la siguiente forma:

$.ajax({
  method: "POST",
  url: "http://...../",
  data: JSON.stringify({ name: "Pedro" }),
  contentType: "application/json"
});

Veamos un resumen de las llaves más comunes que puede tener el objeto que le pasamos al método ajax:

Nombre
Descripción

url

Define la URL a donde se va a enviar la petición. Por defecto utiliza la ruta actual.

method

Define el verbo HTTP. Por defecto es "GET"

data

La información que vamos a enviar en el cuerpo del mensaje

contentType

El tipo de contenido que vamos a enviar en el cuerpo. Por defecto es application/x-www-form-urlencoded

Otros métodos útiles

Existen otros métodos para hacer llamados AJAX con jQuery que por debajo utilizan el método $.ajax:

$.get()

El método get recibe 2 parámetros: la URL y el callback (la función que quieres que se ejecute cuando el resultado es exitoso).

$.get("/products", function(data) {
  $(".result").html(data);
});

$.getJSON()

Este método es similar a $.get() pero espera formato JSON por defecto:

$.getJSON("/products", function(data) {
  console.log(data);
});
PreviousPluginsNextJavaScript II

Last updated 2 years ago

Para ver todas las opciones revisa .

Para ver los demás métodos que ofrece jQuery para hacer llamados AJAX .

la documentación del método $.ajax() de jQuery
haz click acá