One of the best innovations brought to web programming, is the ability to request server data from a page, without having to refresh it completely.
This is a generic template one can use to make AJAX calls from a web page.
One simplification I have implemented in many of my projects, is that instead of XML, my scripts generate JavaScript.
It saves me the trouble of having to parse the AJAX response text.