我有一些页面可以让我改变事物的状态(比如更改列表的状态或删除用户),我想知道:我应该使用链接还是为这些操作创建表单按钮? (没有javascript)
每种实施的利弊是什么?在我看来,链接更容易编码,但形式按钮似乎更安全。
您怎么看?
答案 0 :(得分:3)
非幂等操作,如创建,更新和删除应该通过POST完成。因此,如果没有JavaScript,表单应该与提交按钮一起使用。这至少会警告用户,如果他在删除后刷新页面,则会重新提交操作。
一种有用的模式,让用户在帖子后刷新页面而不冒重新提交的风险,是在帖子模式后重定向,也称为post-redirect-get。这样可以确保刷新成为可能,并使浏览器“忘记”其历史记录中的帖子,允许用户返回而不重新提交删除。
答案 1 :(得分:1)
与css一起使用,您可以使按钮看起来像链接,链接看起来像按钮,所以这主要是外观问题。 就个人而言,我尝试使用链接来指示移动(到另一个页面,到页面的另一部分,弹出页面等)和操作按钮(更新,删除,'购买'等)