How to use URL-based AJAX in Drupal 7 to serve all pages?
I'm searching also a solution to do that. I would like to allow users to choose witch content type is displaying in a region. 

I started by create one block by region and inside I put different functions like the following one to get different content.

node_view_multiple(array($node-&gt;nid =&gt; $node), $display_type); // To get a node.
module_invoke($module, 'block_view',$delta); // To get a block.
panels_mini_block_view($minipanel_name); // To get a mini panel.


Now, with the CSS ID of the block, I will try to refresh them using AJAX link.
I think I will have to override all the links of Drupal to somethings like main/nojs/#div_region_id/[drupal-url] (e.g. main/nojs/block-content/node/1) and add them a class="use-ajax".

The management what is refresh will be in ajax_callback_response().     

$commands[] = ajax_command_html('#block-content', $output );
$page = array('#type' =&gt; 'ajax', '#commands' =&gt; $commands);
ajax_deliver($page);


Another way may be also with the Content page module.