I prefer JSON
- Many many libraries out there for it in all languages
- Doesn't require a complicated schema
- Usually can be converted into an associate array or language equivalent quite easily. This is what makes JSON in PHP so easy
- Compact: Not a lot of boilerplate
- Easy to use: XML is notoriously hard to work with in any language, while JSON is very easy, especially if your language has associate arrays
When it comes to JSON vs. XML, I also prefer JSON (see TheLQs excellent answer), but when some people prefer XML for whatever reason, I'm fine with that.
Returning HTML can be okay in some situations, but I dislike it for a simple reason: it violates the MVC distribution of responsibilities; i.e. the controler does something (creating a layout) that should be up to the view.