因为当您使用 post 时,然后单击刷新,浏览器将尝试再次发布。
我在 youtube 上观看了一些教程,其中显示了“发布然后重定向技术”。他在将重定向(使用标题)发布到同一页面后这样做,其中包含一些获取数据
如果发现这很愚蠢,因为您可以改用 get 方法
所以简而言之,我的问题是……如果你使用表单,get 方法是否比 post 方法更好?
因为当您使用 post 时,然后单击刷新,浏览器将尝试再次发布。
我在 youtube 上观看了一些教程,其中显示了“发布然后重定向技术”。他在将重定向(使用标题)发布到同一页面后这样做,其中包含一些获取数据
如果发现这很愚蠢,因为您可以改用 get 方法
所以简而言之,我的问题是……如果你使用表单,get 方法是否比 post 方法更好?
不,这不是更好...
更糟
为什么?因为按下刷新会重复表单执行的任何操作。想象一下有多少人会不小心两次从信用卡扣款,或者两次提交相同的论坛帖子——完全没有必要。
GET 请求应该是幂等的。让我更强大:GET 请求应该是幂等的。他们不应该“做”任何事情,而只是请求信息。
POST-Redirect-GET 方法是避免“刷新”问题的方法。时期。
GET 应该对服务器没有影响。也就是说,您应该能够多次重新发出相同的 GET 并且不会有问题。
相反,POST 旨在更新记录。它们不一定是幂等的。这就是为什么如果您尝试再次发布相同的 POST,您的浏览器会警告您——您真的想从亚马逊购买两本该书吗?
如果您的表单是搜索表单或类似表单,则 GET 是合适的。如果您的表单是登录表单、结帐表单等……则不然。
获取不安全。但发布如此!确保永远不要使用 get。这不是一个更好的做法。如果我们传递的数据对用户没有用处,我们可以使用 get。