Question: I am familiar of how to get ajax to go to a php page an execute a series of things and then return json data. However is it possible to call a specific function which resides in a given page?

Basically what I want is to reduce the number of files in a project. So I can put a lot of common functions in one page and then just call whatever the function that I want at the moment.

Answer: 
As a structure for this kind of purposes, I suggest this:

PHP
---

```
<?php
    if(isset($_POST['action'])){
        if ($_POST['action'] == "function1") { func1(); }
        if ($_POST['action'] == "function2") { func2(); }
        if ($_POST['action'] == "function3") { func3(); }
        if ($_POST['action'] == "function4") { func4(); }
    }

    function func1(){
        //Do something here
        echo 'test';
    }
?>

```

jQuery
------

```
var data = { action: 'function1' };

$.post(ajaxUrl, data, function(response) {
    if(response != "") {
        $('#SomeElement').html(response);
    }else{
        alert('Error, Please try again.');
    }
});

```

As mentioned, you can't call a PHP function directly from an AJAX call.
jquery:

```
$(document).ready(function(){
    $('#tfa_1117700').change(function(){
        var inputValue = $(this).val();
        var v_token = "{{csrf_token()}}";
        $.post(
            "{{url('/each-child')}}",
            { dropdownValue: inputValue,_token:v_token },
            function(data){
                console.log(data);
                $('#each-child-html').html(data);
            }
        );
    });
});

```

php:

```
public function EachChild(Request $request)
{
    $html ="";
    for ($i=1; $i <= $request->dropdownValue; $i++)
    { 
        $html = $i;
    }
    echo $html;
}

```