jQuery-AJAX-Beitrag zum MVC Controller-Objekt - Anforderung wird mit null angezeigt

Ich weiß, dass ich hier etwas im Detail vermisse.

Problem

Obwohl ich google, Beispiele ausprobiere, verschiedene Formate usw., wird die AJAX-Anfrage, die ich immer sende, als leer, aber nicht als null bewertet.

Ich glaube, ich sende keine Objekte im richtigen Format, damit der Controller sie als Objekt erkennt, aber ich weiß nicht, was.

Fiddler: Wie meine Anfrage aussieht

Mit einigen Dummy-Daten:

Code: Modellklasse
public class ContactUsMessage
{
    public string Email { get; set; }
    public string Name { get; set; }
    public string PhoneNumber { get; set; }
    public string Message { get; set; }
}
Code: WebAPI-Controller
    [HttpPost]
    public HttpResponseMessage NewMessage(ContactUsMessage messageToSend)
    {
        if (messageToSend == null)
        {
            var sadResponse = Request.CreateResponse(HttpStatusCode.BadRequest, "Empty Request");
            return sadResponse;
        }

        var messageValidator = new ContactUsMessageValidator();
        var results = messageValidator.Validate(messageToSend);
        var failures = results.Errors;
        var sadString = "";
        if (!results.IsValid)
        {
            foreach (var error in failures)
            {
                sadString += " Problem: " + error.ErrorMessage;
            }
            var sadResponse = Request.CreateResponse(HttpStatusCode.NotAcceptable, "Model is invalid." + sadString);
            return sadResponse;

        }
        else
        {
            SendContactFormEmail(messageToSend.Email, messageToSend.Name, messageToSend.PhoneNumber, messageToSend.Message);

        }
Code: JavaScript auf Seite
function sendSubmissionForm() {

    var dataObject = JSON.stringify(
        {
            messageToSend: {
                'Email': $('#inpEmail').val(),
                'Name': $('#inpName').val(),
                'PhoneNumber': $('#inpPhone').val(),
                'Message': $('#inpMessage').val()
            }
        });

    $.ajax({
        url: '/api/contactus/newmessage',
        type: 'POST',
        done: submissionSucceeded,
        fail: submissionFailed,
        data: dataObject

    });


}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage