Why is drupal_json_output only returning page HTML?
You have an error in your Javascript, you're trying to use PHP syntax to concatenate the URL (the . symbol). As it is you JS shouldn't be running at all which is why the callback isn't being called. Your module code looks fine. Just change your JS to this: 

jQuery(function($) {
  $.ajax({
    url: 'fetch/explore/' + category, // + instead of .
    success: function(data) {
        console.log(data);
    }
  }); 
});


Just to clarify, if the ajax call is going through despite the syntax problem the HTML response you're getting might be a 404/403/500 error page caused by the wrong URL being called.