ASP.NET mvc 4 paramètre de contrôleur toujours null lors de l'envoi de JSON au contrôleur, pourquoi?

Il y a certains des postes similaires déjà ici, et j'ai essayé toutes les solutions proposées, et ne fonctionne toujours pas... je ne peux pas obtenir la valeur à l'intérieur de contrôleur, il est toujours null. Ci-dessous est le code. Ai-je raté quelque chose?

Côté Client javascript

   function getChart() {
       JSONString3 = { HAxis : [{ Name : "monday" }] };
       jQuery.ajaxSettings.traditional = true;
        $.ajax({
            url: "@Url.Action("getChart","SBM")",
            type: 'POST',
            contentType: 'json',
            dataType: 'html',
            data: JSONString3,
            success: function (data) {
                var imagestring = btoa(data);
                $('#ChartImage').attr('src', "data:image/png;base64," + imagestring + "?" + new       Date().getTime());
            }
        })
        jQuery.ajaxSettings.traditional = false;
    }

MVC Contrôleur

    [Authorize]
    [HttpPost]
    public ActionResult getChart(YAxis HAxis)
    {
        YAxis XAxisvalue = HAxis;
        Charts chart = new Charts();
        MemoryStream ms = new MemoryStream();
        chart.Chart.SaveImage(ms);
        string image = Convert.ToBase64String(ms.GetBuffer());
        return File(ms.GetBuffer(), "image/png", "Chart.png");
    }

Modèle

public class YAxis
{
    public string Name { get; set; }
}

source d'informationauteur Gašper Sladič