在 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,那么应该使用第一种方法
我正在构建一个使用 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,那么应该使用第一种方法