El código es muy bonito, pero el problema no es en AJAX, el problema lo tienes en el procesamiento de ventos: tu pulsas un enlace, bien; el evento onclick supongo se desenlaza llamando a ajax que carga los datos, bien; ... y el navegador sigue con su trabajo y al pulsar un enlace cambia de página!!
Tienes que parar el evento en "onclick" para que no siga hacia delante con el comportamiento predeterminado (cambiar de pagina).
Modo de hacerlo:
Código HTML:
Ver original<a href="#" onClick="mifuncion(); return false;">Vinculo
</a>
El "return false;" parara el evento en ese momento.