62 MANDANDO DATOS AL CONTROLADOR CON EL MÉTODO AJAX en SISTEMA DE VENTAS(PHPyMySql)FullStack

Duración: 13 min
Módulo: 💰 Implementación y Registro del Módulo de Compras Lección 14 de 17

Descripción

Lección 62: Envío de Datos de Compra al Controlador con AJAX 📡📝

Esta lección finalizó la vista de registro de compras, implementando la lógica de validación y el script AJAX para enviar todos los datos recopilados al controlador de PHP, donde se gestionará el guardado en la base de datos.

1. Validación de Campos (JavaScript/jQuery) ✅

Antes de enviar cualquier dato, es crucial asegurar que todos los campos requeridos estén llenos, ya que la tabla de compras no permite valores nulos (NULL) en la mayoría de sus columnas [00:42].

  • Estructura de Control: Se utilizó una serie de sentencias anidadas if...else if para verificar si alguna de las variables recuperadas está vacía.
  • Restricciones Validadas: La validación se centró en los campos que el usuario debe ingresar o seleccionar:
    • ID Producto (ID_producto)
    • Fecha de Compra (fecha_compra)
    • Comprobante (comprobante)
    • Precio de Compra (precio_compra)
    • Cantidad de Compra (cantidad_compra)
  • Feedback al Usuario: Si se detecta un campo vacío, la función:
    1. Muestra una alerta: "Debe llenar todos los campos" [02:37].
    2. Utiliza el método .focus() para posicionar el cursor automáticamente en el input vacío, guiando al usuario para que lo complete [02:17].
  • Éxito: Si todas las validaciones pasan, se ejecuta el bloque else que contiene el script AJAX [01:42].

2. Implementación del Envío AJAX 📦

El script de jQuery $.ajax se utilizó para enviar todas las variables al controlador de PHP sin necesidad de recargar la página:

Parámetro AJAXValorFunción
url../controlador/compras/create.phpDefine la ruta exacta del controlador de destino [10:22].
typeGETSe utiliza el método GET para enviar la información.
dataTodas las variablesSe listaron 8 variables recolectadas en el formulario para ser enviadas como pares clave-valor (ej: ID_producto: ID_producto, numero_compra: numero_compra, etc.) [10:49].
successManejo de respuestaLógica para procesar la respuesta del controlador (se implementará en la próxima lección).

3. Recepción de Datos en el Controlador (PHP) 📥

En el archivo del controlador create.php (dentro del módulo compras), se completó la fase de recepción de variables:

  • Método de Recepción: Se utiliza el superglobal $_GET para capturar los datos enviados por AJAX.
  • Variables Clave: El controlador ahora está listo para trabajar con las 8 variables cruciales que representan una compra completa:
    • $ID_producto
    • $numero_compra
    • $fecha_compra
    • $ID_proveedor
    • $comprobante
    • $ID_usuario
    • $precio_compra
    • $cantidad_compra

Próximo Paso: La siguiente lección se centrará en la lógica SQL del controlador, donde se prepararán y ejecutarán las sentencias para insertar la nueva compra en la tabla correspondiente y actualizar el stock del producto en la tabla almacen [13:17].