jQuery AJAX - Do Stuff in Success o Complete callbacks?

Tengo una pregunta rápida sobre la función AJAX de jQuery.

La forma en que hago mis llamadas ajax hago algo como:

$.ajax({
    type: "GET",
    url: "/wordpress/wp-admin/admin-ajax.php",
    dataType: 'html',
    data: ({ action: 'loadHomePage'}),
    beforeSend: function() {
        document.getElementById('loading').style.visibility = 'visible';
    },
    complete: function(){
        FB.Canvas.setAutoGrow(false);
        FB.Canvas.setSize({height:600});
        setTimeout(function(){
            FB.Canvas.setAutoGrow(true);
        }, 100);
    },
    success: function(data){
        data = $.trim(data);
        $('#ajax-content').hide().empty().fadeIn('slow').html(data);
        FB.Canvas.scrollTo(0,0);                
    }
});

El problema es que, en este caso en particular, es un sitio web completo dentro de un iframe de Facebook que usa ajax para la navegación de la página, cuando se navega entre páginas parece desvanecerse el contenido varias veces, así que me preguntaba cuál sería la mejor práctica aquí para el desvanecerse en parte - ¿debería ir en la parte completa?

Originalmente tuve el tamaño del material completo, pero habiéndolo movido creo que ha marcado una diferencia, pero no estoy seguro de que sea un efecto placebo ...

Si es así, lo logro haciendo lo siguiente:

complete: function(data){
    // fade in etc

y en segundo lugar, ¿está bien hacer esto si el proceso completo viene antes del éxito en el pedido del código fuente o el orden es importante, por ejemplo? éxito yentonces ¿completar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta