关于博客中草稿箱的实现:页面表单通过 ajax 提交数据到后台服务器,多次保存,后台怎样识别是同一篇文章的草稿?如果不能识别的话岂不是每次保存都会创建新的草稿?

2017-01-24 14:32:29 +08:00
 luoluohang
3244 次点击
所在节点    Python
22 条回复
knightdf
2017-01-24 14:43:23 +08:00
你文章没 ID 的?
yimity
2017-01-24 15:22:17 +08:00
简单点的做法是,第一次草稿保存之后,调到编辑页面。
稍微复杂一点点的做法是。第一次保存之后,记下 id ,然后再次保存的时候带上这个 id 。好处是不用跳转到编辑页面了
wy315700
2017-01-24 15:28:07 +08:00
wordpress 确实是每次都会创建一个新的草稿
jaurung
2017-01-24 15:33:05 +08:00
对正文算下 md5 ?
sorra
2017-01-24 16:00:36 +08:00
草稿也有 id 啊, Ajax 返回草稿 id ,下次保存就用这个 id 。
ryd994
2017-01-24 16:08:53 +08:00
用 UUID 的话都不需要等 Ajax 返回 ID
直接生成一个反正撞不上
hoythan
2017-01-24 16:31:45 +08:00
wordpress 的自动保存相当于每次创建新的文章,只不过状态标记为草稿,并且指向第一个文章的 ID. 这样第一篇文章就可以随时找到所有草稿,草稿因为有状态标记也可以随时选择清理.
jininij
2017-01-24 17:46:01 +08:00
当用户点新建文章的时候,后台已经有了一个无内容,未发布的文章了。然后 302 到这篇文章的编辑页面。
luoluohang
2017-01-24 18:16:12 +08:00
@jininij 这个解决方案很棒,在请求编辑页面的时候生成文章对象,谢啦
luoluohang
2017-01-24 18:37:32 +08:00
@yimity 嗯嗯,谢谢
jugelizi
2017-01-24 21:26:13 +08:00
其实可以用浏览器的 localstorage 实现
HLT
2017-01-24 21:28:08 +08:00
wp 都没用过吗?问这样的问题
cxbig
2017-01-24 21:49:39 +08:00
“草稿”只是文章的一个状态
第一次保存就可以取得 ID ,可以在后续编辑中使用
前端只显示状态切换到“发布”的文章即可
yimity
2017-01-25 10:03:29 +08:00
@jininij 如果用户不保存呢?日积月累这些垃圾信息咋删除?
如果自动删除,那如果用户只是想保存个草稿呢,怎么区分用户想要的草稿和废弃的草稿?
bombless
2017-01-25 10:57:55 +08:00
草稿也可以编 id
基本上你草稿的 id 和文章的 id 是独立的。
luoluohang
2017-01-25 11:09:21 +08:00
@bombless 嗯嗯,谢谢
lslqtz
2017-01-26 10:21:10 +08:00
不是应该客户端伐 localStorage ?
KIDJourney
2017-01-26 13:51:36 +08:00
@HLT 没用过咋了。
wp 又不是必需品。
msg7086
2017-01-26 15:54:18 +08:00
@yimity 参考 Gmail 发件箱的做法咯。
HLT
2017-01-26 18:19:39 +08:00
@KIDJourney 是让你参考做法…… zz

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

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

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

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

© 2021 V2EX