Ajax callback return 500 Internal Server Error file mymodule.inc :

        $items['ajax/channel/%/get-program'] = array(
        'title' =&gt; t('get channel program by ID'),
        'type' =&gt; MENU_CALLBACK,
        'page callback' =&gt; 'get_channel_program',
        'page arguments' =&gt; array(2),
        'access arguments' =&gt; array('access content'),
      );

      return $items;
//channel program
function get_channel_program($channel_id){
  $channel_id = (isset($_POST['channel_id']) ? $_POST['channel_id'] : '');
  if (!is_numeric($channel_id)) :
    drupal_not_found();
  else :
    drupal_json_output($channel_id);
  endif;
}


file mudule.js :

Drupal.behaviors.ajaxProgram = {
        attach: function (context, settings) {

            // CSS Selector for the button which will trigger the AJAX call

            $('.channel-tv-tabs .tab .tabset .single-prog', context).click(function () {

                var channel_id = $(this).data('channel-id');

                $.ajax({
                    url: '/'+Drupal.settings.pathPrefix + 'ajax/channel/'+channel_id+'/get-program', // This is the AjAX URL set by the custom Module
                    type: "POST",
                    data: { channel_id : channel_id }, // Set the number of Li items requested
                    dataType: "json",          // Type of the content we're expecting in the response
                    success: function(data) {
                        var parsed_data = $.parseJSON(data);
                        console.log(parsed_data);  // Place AJAX content inside the ajax wrapper div
                    },
                    error: function(jqXHR, textStatus, errorThrown){
                        console.log(errorThrown);
                    }

                });

            });

        }
    };


Pls help me and tell what i do wrong?
When I try go to link http://hostname/ru/ajax/channel/25/get-program I recive page not found
Change the callback into this:

function get_channel_program($channel_id){
  if (!is_numeric($channel_id)) :
    drupal_not_found();
  else :
    drupal_json_output($channel_id);
  endif;
}


Change the jQuery into this:

$('.channel-tv-tabs .tab .tabset .single-prog', context).click(function () {
     ...
     $.get('/ajax/channel/'+channel_id+'/get-program', function(data) {
     alert("got "+ data);
   });
});


This uses HTTP GET verb. 


  According to the design of the HTTP specification, GET (along with
  HEAD) requests are used only to read data and not change it


instead of POST


  The POST verb is most-often utilized to create new resources.