Usted puede utilizar el HTML 5 pushState API para lograrlo. Sin embargo, solo los navegadores más nuevos lo admiten y IE ni siquiera lo admite en IE9. No había forma de hacer esto previsiblemente. Sin embargo, hay una convención de que usaría location.hash para indicar una página cuyo estado fue modificado por una solicitud ajax. Para obtener más información sobre cómo usar los valores hash de url para indicar el estado en su página, es posible que desee echar un vistazo a this.
Hay una biblioteca, History.js, que se puede utilizar para la transición a pushState. Su API está muy cerca de la API de pushState, pero proporcionará de forma transparente una recuperación de fragmentación hash si el navegador no es compatible con pushState.
asegurarse de que puede hacerlo sin cambiar la página. – Nalum