在 ajax post 成功时将对象添加到列表的最佳实践

Best practice to add object to a list on ajax post success

我正在构建一个使用 ASP.NET 核心、jQuery 和 AJAX 执行 CRUD 操作的网站。

我有两种方法可以从 AJAX 成功函数向 table 添加对象:

1) MVC 控制器将 return 更新列表的部分视图。

return PartialView("_ScheduleList", listOfSchedules);

部分视图在成功回调函数中加载为..

$.ajax({ 
type: 'POST', 
url: '/Schedule/Create', 
data: info, 
success: function(response){
$("#scheduleList").html(response);
}});

2) MVC 控制器 returns 对象并将该对象追加到 table.

return Json(createdSchedule);

$.ajax({ 
type: 'POST', 
url: '/Schedule/Create', 
data: info, 
success: function(response){
var html = "";
html += "<div>";
html += `<p>${response.title}</p>`;
html += "</div>";
$("#scheduleList").append(html);
}});

两种方法都可以。我发现第一种方法更简单,但从我读过的内容来看,returning Partial Views 是一种不好的做法。第二种方法写得不仔细很容易出错。我的问题是哪种方法是 better/conventional 方法,为什么?

取决于您的目的

  • 如果returned的数据量很大,那么你应该使用方法2,因为它会减少从服务器returned到客户端的数据量。 return的速度会更快
  • 如果html代码比较复杂,需要在很多逻辑条件下生成html,那么应该使用第一种方法