modifacion en el metodo de validarYEnviarFormulario

This commit is contained in:
Hector 2025-03-09 23:30:35 -06:00
parent 6e8afe9501
commit ddad222152
1 changed files with 33 additions and 35 deletions
vista/js

View File

@ -142,52 +142,50 @@ document.addEventListener('DOMContentLoaded', function() {
}
}
}
// Función para validar y enviar el formulario
function validarYEnviarFormulario(e) {
async function validarYEnviarFormulario(e) {
e.preventDefault();
if (seleccionados.length === 0) {
mostrarMensaje('Por favor, seleccione al menos un asiento.');
return false;
}
const nombreCliente = document.getElementById('nombre_cliente').value.trim();
if (nombreCliente === '') {
mostrarMensaje('Por favor, ingrese el nombre del cliente.');
return false;
}
// Preparar los datos para enviar
const asientosIds = seleccionados.map(asiento => asiento.id);
const datos = {
asientos: asientosIds,
nombre_cliente: nombreCliente
};
// Enviar los datos mediante fetch
fetch('../controlador/venta.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(datos)
})
.then(response => response.json())
.then(result => {
if (result.success) {
// Redireccionar a la página de comprobante
window.location.href = result.redirect || 'comprobante.php';
} else {
mostrarMensaje(result.mensaje || 'Error al procesar la venta', 'error');
}
})
.catch(error => {
console.error('Error:', error);
mostrarMensaje('Error de conexión con el servidor', 'error');
const formData = new FormData();
formData.append('nombre_cliente', nombreCliente);
seleccionados.forEach(asiento => {
formData.append('asientos[]', asiento.id);
});
return false;
try {
const response = await fetch('../controlador/procesarVenta.php', {
method: 'POST',
body: formData
});
const responseText = await response.text(); // Capturar respuesta como texto para depurar
console.log('Respuesta del servidor:', responseText);
// Intentar parsear como JSON
const data = JSON.parse(responseText);
if (!data.success) {
mostrarMensaje(data.message || 'Error en la venta'); // Cambiar 'mensaje' a 'message'
return;
}
mostrarMensaje('Venta confirmada con éxito', 'success');
setTimeout(() => location.reload(), 2000);
} catch (error) {
console.error('Error al enviar la venta:', error);
mostrarMensaje('Error de conexión con el servidor', 'error');
}
}
// Función para mostrar mensajes