jQuery AJAX post do obiektu kontrolera MVC - żądanie wyświetla się null
Wiem, że brakuje mi tutaj szczegółów.
ProblemPomimo Google, próbując przykładów, różnych formatów itp., Żądanie AJAX, które wysyłam, zawsze jest sprawdzane, ponieważ wszystkie pola są puste, ale nie są puste.
Myślę, że nie wysyłam rzeczy w odpowiednim formacie, aby kontroler rozpoznał je jako obiekt, ale nie jestem pewien co.
Skrzypek: Jak wygląda moja prośbaZ pewnymi fałszywymi danymi:
Kod: Klasa modelupublic class ContactUsMessage
{
public string Email { get; set; }
public string Name { get; set; }
public string PhoneNumber { get; set; }
public string Message { get; set; }
}
Kod: Kontroler WebAPI [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);
}
Kod: JavaScript na stroniefunction 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
});
}