通过将任何具有副作用的交互转换为按钮而不是超链接,我使HTML / CSS开发人员的生活变得困难。

例如,我更改了<!>“Clear Basket <!>”;在购物网站中从链接到按钮。 在任何具有副作用的动作应该是按钮而不是超链接的前提下。 (即使是蜘蛛或机器人也永远不会到达这一点) 这与REST有什么关系?

最好的答案将有很好的理由我可以使用为什么我为HTML / CSS人员制造困难,...或者为什么我错了:-),...也许我是纯粹的但是没有真正的理由?

注意:我不反对将 ajax 功能放在超链接上,甚至是选择更改事件上的有效副作用。

干杯。 默里。

有帮助吗?

解决方案

我认为你做对了,但证明它可能在<!>“REST <!>”的范围之外。

如果这些链接真的只是<a>标签导致浏览器发出GET请求然后单击,那么它们不应该有任何副作用,因为根据HTTP规范,GET应该是安全且幂等的。请参阅之前关于链接后蜘蛛的评论等。

现在,如果<!>“;链接<!>”;使用javascript在点击时真正对服务器进行POST,或者某种类似的技巧,然后从HTTP的角度来看它们是A-OK。可能比他们的工作更多的工作,但RESTful。

但也有用户界面设计需要考虑。因为在没有CSS和javascript的基本HTML中,链接始终是GET,因此用户自1994年以来一直受到培训,期望任何看起来的超链接都是安全且幂等的。通过做一些不同的事情,你的设计师违反了最少惊喜的原则。这似乎是雅各布尼尔森会支持你的。

其他提示

这与REST没什么关系,但我尝试遵循这个简单的规则:

Hyperlinks are for navigation.
Buttons are for interaction.

如果您的<!>“有状态的<!>”并不重要动作是链接或按钮。您可以拥有删除/添加等的链接。一致性至关重要。所以,如果你想让这些动作成为按钮,那很好。我认为有才华的CSS人可以使链接看起来像按钮。您可能根本不需要html按钮。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top