分页列表,删除最后一页的最后一条数据的场景该怎么处理

2019-09-10 19:09:09 +08:00
 rizon
不知道行业里通用方案怎么处理。删除最后一条数据后,由于前端请求传的页码已经是不存在的页码了,所以会返回空白。
期望的效果是自动返回真实的最后一页的数据,也就是页码自动-1。
这东西后台处理还是前端处理?
后台是 java。
5112 次点击
所在节点    程序员
28 条回复
lscho
2019-09-11 13:17:10 +08:00
前后端分离,前端处理
不分离,后端处理
learnshare
2019-09-11 13:39:22 +08:00
如果前后端分离:
删除要指定资源 ID,和是否分页无关
最后一页数据不存在的话,返回 404 或者空列表比较合适
分页错误的问题是前端逻辑,前端处理就可以了
hyyou2010
2019-09-11 14:02:54 +08:00
@shintendo 嗯,有这个可能,这点还真不容易想到。不过这样的结果我觉得还可以接受。
markgor
2019-09-11 14:05:17 +08:00
那个,好奇问问,删除操作后前端不会重新加载列表吗?
后端必须有总分页数,
当前端提交的当前页数>总分页数,就直接把当前页数设置为总分页数。
passerbytiny
2019-09-11 14:27:30 +08:00
前端后端处理都是一样的。你所说的场景,实际上是两个连续但相对独立的场景:删除一条数据;重新计算总数和计算分页参数,然后重新加载当前页或最后页(不止是删除后,并发修改的时候,也会出现当前页已经不存在的情况)。

不负责 /没时间负责的前端控件经常丢弃或忽略“重新计算分页参数”。
水平搓 /不负责任 /没时间负责的后端,会用一个函数,就完成“删除,查询当前页数据,然后返回”的整套流程——既然是一个函数处理,那自然就超大概率忘了“数据变动后分页页码要重新计算”的场景。
markgor
2019-09-23 14:34:15 +08:00
@passerbytiny 不是很认同这个说法。

首先前端如何都是要处理的,无非是怎么处理罢了(试问前端不处理,后端如何处理前端的事?
“删除,查询当前页数据,然后返回” <---基本分前後端后都是接口调用取数据吧?后端没必要在删除操作后再执行一次查询数据吧?后端直接提供->新增、修改、删除、读取四个接口,如果前端删除完,直接调用讀取 即可了吧?
rizon
2019-09-25 11:19:54 +08:00
这东西,,谁有更好的办法吗。。。前端不做 后端要做这个了。。
nmsn
2022-08-04 07:47:11 +08:00
这个后端处理吧,前端不是知道数据的具体变动,后端才知道真正的最后一页是啥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/599750

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX