Saltar al contenido

¿Cómo cierro una ventana modal después del éxito de AJAX?

Solución:

Para cerrar el modo de arranque, puede pasar ‘ocultar’ como opción al método modal de la siguiente manera.

$('#CompanyProfile').modal('hide');

Utilice este código dentro del éxito de ajax.

Demostración de violín

Agregar esta solución ya que no parece haber un método genérico en la lista.

Si desea cerrar cualquier modal en caso de éxito, pero no desea crear manualmente cada llamada $ .ajax al servidor, puede usar lo siguiente:

$('.modal form').on('submit', function(event) {
    event.preventDefault();
    $.ajax({
        url: $(this).attr('action'),
        type: 'POST',
        data: $(this).serializeObject(),
        contentType: 'application/json',
        beforeSend: function(xhr){xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded")},
        success: function(data) {
            console.log(data.success);
            if(data.success===1) {
                // loop through all modal's and call the Bootstrap
                // modal jQuery extension's 'hide' method
                $('.modal').each(function(){
                    $(this).modal('hide');
                });
                console.log('success');
            } else {
                console.log('failure');
            }
        }
    });
});

Además, si está buscando usar el código anterior como copiar / pegar, necesitará lo siguiente, que toma los datos del formulario y los convierte en JSON para publicarlos en el servidor, o cambiar el $(this).serializeObject() para $(this).serialize() :

$.fn.serializeObject = function() {
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
        if (o[this.name]) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    o = { request: o };
    return o;
};

Referencia: Bootstrap JS Modal

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *