Невозможно получить данные в контроллере из Ajax в ASP.NET Core MVCJquery

Программирование на jquery
Ответить
Anonymous
 Невозможно получить данные в контроллере из Ajax в ASP.NET Core MVC

Сообщение Anonymous »

Я пытаюсь передать данные из представления на свой контроллер. Я правильно получаю значения в Ajax, но не могу передать их контроллеру. Я всегда получаю комментарий в контроллере как нулевой.
Код Ajax из представления:
function handleCommentSubmitClick(PostID) {
console.log("PostID: ", PostID);
const comment = $("textarea[name='post-comment']").val();
$.ajax({
type: "POST",
url: "/PostCommentInput",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: {
comment: comment
},
success: function (data, status) {
console.log(data);
},
error: function (xhr, status, error) {
console.error("AJAX error: " + status + ' ' + error);
}
});
}

Код контроллера:
[HttpPost("/PostCommentInput")]
public IActionResult PostCommentInputHandler(string comment)
{
Console.WriteLine("Comment: " + comment);
return Json(new { status = comment });
}

Я видел здесь несколько решений по переполнению стека, но у меня ничего не работает.
В моем проекте я делаю это в какой-то момент и там работает:
const likeClickHandler = (PostID) => {
$.ajax({
type: "POST",
url: "/Like/",
ontentType: "application/json; charset=utf-8",
dataType: "json",
data: { PostID: PostID },
success: function (data, status) {
successFunc(data, status);
},
error: errorFunc
});

Контроллер:
[HttpPost("/Like")]
public IActionResult LikeHandler(long PostID)
{
string userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
UserPostRepository repo = new UserPostRepository();
List Counts = repo.PostLike(PostID, userId);
return Json(new { postIDController = PostID, Counts = Counts });
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... t-core-mvc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»