Why is drupal_json_output only returning page HTML? I'm trying to get drupal to return some rendered views content that I request through ajax, but all it seems to want to output is what looks like a rendered page. What am I doing wrong here?

// This is logging a ton of page HTML

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


// This is from my custom module

function wdfm_menu() {
    $items['fetch/explore/%'] = array(
    'page callback' =&gt; 'fetch_explore_content',
    'type' =&gt; MENU_CALLBACK,
    'access arguments' =&gt; array('access content'),
        'page arguments' =&gt; array(2)
  );
    return $items;
}


// Nothing is showing up in my log from this so I'm unsure it's even being called.

function fetch_explore_content($category) {
    watchdog('blargh', 'something');
    $data = array();
    $data['test'] = 'test';

  drupal_json_output($data);
    exit;
}
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.