是否可以更改GET请求中的数据?

时间:2016-02-29 01:47:49

标签: ruby-on-rails ruby http web

我正在添加电子邮件确认,当用户点击电子邮件激活链接时,它会收到获取请求以获取注册页面并填充注册表单。但是,我还希望在此操作中将用户的email_confirmed属性更新为true。我听说永远不会在get请求中更改数据,但我不确定如何做到这一点。

4 个答案:

答案 0 :(得分:1)

这是一个实用性胜过迂腐的例子。确实,HTTP GET应该是一种非修改和幂等的动作。但有时在这些情况下,获取GET比在POST或PUT中更容易。它也非常适合测试,只需将URL粘贴到浏览器中即可:)

答案 1 :(得分:0)

虽然最好不要从GET请求中更改数据,但有些情况下您没有选择权,而且这是一个选择。

HTML锚点(<a>标记)只能向您的服务器提交GET请求。要使用其他方法(POST,PATCH等),您必须使用JavaScript,但不能依赖收件人的电子邮件客户端来运行它。

答案 2 :(得分:0)

最好不要在GET请求中更改数据。它没有在语言或框架级别强制执行。

您可以做的是在GET页面上显示一个确认电子邮件按钮,该按钮发出POST请求。

答案 3 :(得分:0)

为GET提供的页面可以包含一个按钮,用于触发修改状态的实际(POST)操作。