Re-engineered XHR handling

Also fixed /blog/view/.