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