jQuery-AJAX-Beitrag zum MVC Controller-Objekt - Anforderung wird mit null angezeigt
Ich weiß, dass ich hier etwas im Detail vermisse.
ProblemObwohl 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 aussiehtMit einigen Dummy-Daten:
Code: Modellklassepublic 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 Seitefunction 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
});
}