Php ajax根据用户选择的输入排序数据

I have a html form in which user can select an option upon which ajax call should be fired to php controller.

<form action="<?php echo URL . 'task/show_list/' . $this->tasks[0]->list_id;?>" method="GET" id="#sortTaks">
            <select name="sort_task" id="selectSortTask">
                <option value="" selected="selected">Sort by:</option>
                <option value="byName">Name</option>
                <option value="byDeadline">Deadline</option>
                <option value="byPriority">Priority</option>
                <option value="byStatus">Status</option>
            </select>
            <input type="submit" value="Submit">
</form>

Now, i would like that sort functionality provided asynchronously with ajax. This is the corresponding php code:

//controller

public function show_list($list_id)
    {
        if (isset($list_id)) {

            $task_model = $this->loadModel('TaskModel');
            $check      = $task_model->checkUserPermission($list_id);

            if ($check) {
                $tasks             = $task_model->showTasks($list_id);
                $this->view->tasks = $tasks;
                $this->view->render('task/task');
            } else {

                header('location:' . URL . 'dashboard/index');
            }
        } else {
            header('location:' . URL . 'dashboard/index');
        }
    }


//model

    public function showTasks($list_id)
    {

            if (isset($_GET['sort_task']) and !empty($_GET['sort_task'])) {
                $sort_parameter = strip_tags($_GET['sort_task']);
                $sort_order     = $this->sortData($sort_parameter);
                $sort_order     = 't.task' . $sort_order;
            } else {
                $sort_order = 't.task_name';
            }

            $sql = "SELECT t.task_name, t.task_id, t.task_priority, t.task_deadline, t.task_completed, l.list_id
                    FROM task AS t
                    LEFT JOIN list AS l ON l.list_id = :list_id AND l.list_id = t.list_id
                    WHERE l.user_id = :user_id
                    ORDER BY $sort_order";
            $query = $this->db->prepare($sql);
            $query->execute(array(':list_id' => $list_id, ':user_id' => $_SESSION['user_id']));

            return $query->fetchAll();

    }

//view snippet

            echo '<td>' . $value->task_name . '</td><td>' . $priority . '</td><td>';
            echo $task_deadline->format('l jS \of F Y h:i:s A');
            echo '</td><td>';
            echo $overdue_until->format('%R %a day/s, %h hours, %i minutes');
            echo '</td><td>' . $status . '</td>';
            echo '<td><a href="' . URL . 'task/edit_task/' . $value->list_id . '/' . $value->task_id . '">Edit</td>';
            echo '<td><a href="' . URL . 'task/delete_task/' . $value->list_id . '/' . $value->task_id . '">Delete</td>';
            echo '<td><a href="' . URL . 'task/completed/' . $value->list_id . '/' . $value->task_id . '">Completed</td>';
            echo '</tr>';

What is the best approach in solving this problem? I'm a little bit confused with how should ajax call look like regarding mvc structure and presenting sorted data back to user.

Any help is much appreciated.

For now i have this:

$(document).ready(function(){

      $('#selectSortTask').change(function(e){

        e.preventDefault();

        var sortParam = $('#selectSortTask').val();

         $.ajax({
             url: $(this).attr('action'),
             type: "GET",
             data: {sort_task: sortParam},
             dataType: 'json',
             success: function(data){
                alert(data);
             },
             error: function(error){
                alert(error);
             }
        });
    return false;
  });

});

Which alerts object Object as error. How to modify this ajax call and model/view/controller to get desired result? Alerts are for debugging purposes.