Changing Dancer::Plugin::Ajax's content type
 Dancer does lots of great things. It has a nice clean way to define routes to handle AJAX routes using the plugin Dancer::Plugin::Ajax .    ajax routes are defined in a clear way:  ajax '/stuff' => sub {   # do work and return };    This plugin technique allows for clear way to separate between ajax and other types of actions for the same route.  ajax '/stuff' => sub {    # do ajax-y stuff here };  get '/stuff' => sub {    # handle html response };    Unfortunately, the one negative with Dancer::Plugin::Ajax  is that is assumes all responses will be XML.     A quick fix is to manually set the content type  in each ajax handler.   ajax '/stuff' => sub {    content_type('application/json');        # do work };   or add set it as a general option in your main before hook or in each prefix route handler like:  package WebApp;  hook before => sub {    if ( request->is_ajax ) {       content_type('application/json');    } }; ...