La solicitud de Ajax congela la página web

Estoy tratando de crear una forma genérica de llamar a las solicitudes ajax en mi página web. He creado un pequeño y agradable método de extensiones para llamar a una solicitud de publicación de forma asíncrona.

$.tiqPost = function(action,data,callback)
{
    alert('Posting...');
    $.fancybox.showActivity();
    $.ajaxSetup({async:true});
    $.post('/portfolios/mod/t:'+action+'/',data,function(response)
    {
        callback(response);
        $.fancybox.hideActivity();
        alert('Finished Post.');
    });
    alert('Posting Set.');
}

Sin embargo, cada vez que se activa esta solicitud, mi página se congela indefinidamente. En algunas versiones de Chrome, se congela sin comentarios (el clic deja de funcionar, no puedo cerrar la pestaña). Sin embargo, en la mayoría de los otros navegadores, muestra "Publicación" y luego se detiene sin llegar a "Conjunto de publicación" o "Publicación finalizada".

Entonces Chrome no detecta errores y simplemente se congela. Esto es muy desconcertante para mí. ¿Alguien tiene algún consejo (o incluso una implementación diferente)?

EDIT:

Esto no sucede para todas las solicitudes. De hecho, permítanme publicar algunos casos en los que funciona y otros en los que no. Esperar...

EDITAR EDITAR:

Entonces en este ejemplo

$.tiqPost('newcat',{t:"n"},function(response)
                {
                    if(response)
                    {
                        $tabs.tabs('add','#tiq-tab-'+response,"New Category",0);
                    }
                });

No estoy teniendo problemas. Sin embargo:

$(this).bind('blur',function(postdata)
    {
        //blur
        if(postdata==null)
            postdata = {value:$(this).text()};
        $.tiqPost($(this).attr('id').replace('tiq-submit-',''),
            postdata,
            function (response) {
                $(this).text(response);
            });
        $(this).removeClass('tiq-editable-editstate');
        $(this).attr('contentEditable','false');
    });

Provoca la congelación.

preguntado el 22 de mayo de 12 a las 07:05

¿Qué sucede si omite el "ajaxSetup" por completo? -

¿Puedes mostrar lo que hay en callback()? -

1 Respuestas

hace haciendo

$.post('/portfolios/mod/t:'+action+'/',data,function(response)
    {
        callback(response);
        alert('Finished Post.');
    });

solo, funciona? si es así, es posible que tenga problemas para configurar la función en sí

contestado el 22 de mayo de 12 a las 07:05

Esto debería ser un comentario, no una respuesta. No responde la pregunta. - jivings

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.