Я пытаюсь использовать пост JQuery ajax для вызова основного контроллера ASP.Net. Я пробовал все разные сценарии, но ни один из них не работает. Вот мой Javascript Функция:Ajax Post Request всегда пропускает null Object для MVC Controller
$("#verify-answer").click(function() {
if ($("#question_answer").val() != "") {
var request = JSON.stringify({
'Answer': $('#question_answer').val(),
'UserId': 1,
'TenantId': 0
});
$.ajax({
url: "/Account/PasswordRecoveryChallengResponseGetToken",
type: "POST",
contentType: 'application/json',
data: request,
datatype: "json",
success: function (result) {
console.log("answer token challenge: ");
},
error: function (result) {
}
});
}
return false;
});
Частичный вид HTML:
<div>
<form>
<p>Challenge-Response Option</p>
<label for="username">Username</label>
<input type="text" class="form-control" id="username_recovery">
<button type="submit" id="get-questions" onclick="return false;" >Retrieve Question</button>
</form>
</div>
<div id="question">
<div>
<form>
<div id="user_question"> </div>
<label for="username">Answer</label>
<input type="text" id="question_answer">
<div id="questions_answer_message"></div>
<button type="submit" id="verify-answer">Verify Answer</button>
</form>
/div>
</div>
Это мой контроллер:
[HttpPost]
public async Task<IActionResult> PasswordRecoveryChallengResponseGetToken(ResetPasswordQuesionChallengeRequest request)
{
}
Модель прошла:
public class ResetPasswordQuesionChallengeRequest : Core.TenantClientEntityBase
{
[Required]
public string Answer { get; set; }
}
public abstract class TenantClientEntityBase
{
[Required]
public int TenantId { get; set; }
[Required]
public int UserId { get; set; }
}
Это Request Payload :
Параметр запроса всегда следующие значения:
- Ответ = NULL
- UserId = 0
- TenantId = 0
Что я делаю неправильно ?
Не могли бы вы проверить вкладку сети инструментов разработчика (F12) и проверить, что полезная нагрузка запроса соответствует ожиданиям? – Developer
Это полезная нагрузка запроса: '{Ответ:" test ", UserId: 1, TenantId: 0}' – Coding