У меня есть следующий код;
$.ajax({
url: "/Home/jQueryAddComment",
type: "POST",
dataType: "json",
data: json,
contentType: 'application/json; charset=utf-8',
success: function(data){
//var message = data.Message;
alert(data);
$('.CommentSection').html(data);
}
И в моем контроллере;
[ValidateInput(false)]
public ActionResult jQueryAddComment(Comment comment)
{
CommentSection commentSection = new CommentSection();
//ya da - ya da
// fill the commentsection object with data
//then
return PartialView("CommentSection", commentSection);
}
Однако, когда я возвращаюсь к странице, предупреждения успеха не происходит. Кто-либо может видеть дефект в этой логике?
Ожидаемый JSON
в .Ajax POST
, но в ActionMethod вы возвращаете PartialView
?
Попробуйте:
$.ajax({
url: "/Home/jQueryAddComment",
type: "POST",
dataType: "html",
data: json,
success: function(data){
//var message = data.Message;
alert(data);
$('.CommentSection').html(data);
}
}
Если оно не было скопировано неправильно, похоже, у вас отсутствуют некоторые закрывающие токены.
$.ajax({
url: "/Home/jQueryAddComment",
type: "POST",
dataType: "json",
data: json,
contentType: 'application/json; charset=utf-8',
success: function(data){
//var message = data.Message;
alert(data);
$('.CommentSection').html(data);
} //<-- added close for anonymous function
}); //<--added close/semicolon for ajax function
Кроме того, вы отправляете POST, но ваше действие не имеет атрибута [Post]. Когда вы запускаете это в отладчике, срабатывает ли точка останова для вашего действия?