controller function use with ajax
After lots of searching finally, I got the solution.
I would like to share this.

AjaxController.php

namespace Drupal\ajax\Controller;

use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\HttpFoundation\JsonResponse;

class AjaxController extends ControllerBase {

  public function call_ajax($controller,$function){
    $args = func_get_args();
    $r = array();
    $r['html'] = null;

    $class = "\\Drupal\\".$controller."\\Controller\\".ucfirst($controller)."Controller";

    $obj = new $class();

    if(method_exists($obj,$function)){
      $r['html'] = render($obj-&gt;$function());
    }
    return new JsonResponse($r);
  }

}


ajax.routing.yml

ajax.call:
  path: '/call/ajax/{controller}/{function}'
  defaults:
    _controller: '\Drupal\ajax\Controller\AjaxController::call_ajax'
    _title: 'Get List'
  methods:  [GET]
  requirements:
    _permission: 'access content'


ajax.js

jQuery(document).ready(function($a){
    $a.ajax({
        url: "call/ajax/users/getList", 
        method :'GET',
        dataType: "json", 
        success: function(result){
          $a(".region-content").html(result.html);
        }
    });
})


Now I have to just pass the controller and function name to call the function using ajax.

The main purpose to use this way is reusability of controller functions.