This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
It really depends upon how the returned data is to be used in the page.
If you're just going to shove something into an element's innerHTML, it's easy to let a server-side termplating engine (JSP,php,Tapestry,et al) do the substitution and formatting for you and return the renderred HTML. Especially if you are using something like Prototype with its nifty Ajax.Updater facility.
If the data is highly structured, and doesn't fit into the above categories, XML may be the best option.
Personally, I find myself using XML the least. I'm usually sending either plain text, JSP-generated HTML, or JSON. XML is used only when none of those are appropriate.