When I set a breakpoint on LoadReport, every parameter is null. For some reason the values are not binding to the parameters with the same name.
Javascript/AJAX
$('#savedCriteria').on('change', function () {
    var criteriaSelected = $('#savedCriteria option:selected').text();
    var data = { actionName: "Daily", reportInput: "ReportDaily", reportCriteria: criteriaSelected };
    //Ajax form post
    $.ajax({
        type: 'POST',
        data: data,
        contentType: "application/json; charset=utf-8",
        url: '@Url.Action("LoadReport", ViewContext.RouteData.Values["Controller"].ToString())',
        success: function (data) {
            if (data.success) {
                alert("Test");
            } else {
                alert("Test Not Successful");
            }
        }
    });
});
Controller
public void LoadReport(string actionName, string reportInput, string reportCriteria)
{
    var reportObject = Activator.CreateInstance(Type.GetType(reportInput));
    IEnumerable<Test.Reports.Utilities.ReportCriteria> reportList = getReportCriteria(reportInput);
    RedirectToAction(actionName, "Reports", reportList.Where(x => x.CriteriaName == reportCriteria));
}
 
    