-3

因为当您使用 post 时,然后单击刷新,浏览器将尝试再次发布。

我在 youtube 上观看了一些教程,其中显示了“发布然后重定向技术”。他在将重定向(使用标题)发布到同一页面后这样做,其中包含一些获取数据

如果发现这很愚蠢,因为您可以改用 get 方法

所以简而言之,我的问题是……如果你使用表单,get 方法是否比 post 方法更好?

4

3 回答 3

5

不,这不是更好...

更糟

为什么?因为按下刷新会重复表单执行的任何操作。想象一下有多少人会不小心两次从信用卡扣款,或者两次提交相同的论坛帖子——完全没有必要。

GET 请求应该是幂等的。让我更强大:GET 请求应该是幂等的。他们不应该“做”任何事情,而只是请求信息。

POST-Redirect-GET 方法是避免“刷新”问题的方法。时期。

于 2012-09-19T07:33:37.180 回答
0

GET 应该对服务器没有影响。也就是说,您应该能够多次重新发出相同的 GET 并且不会有问题。

相反,POST 旨在更新记录。它们不一定是幂等的。这就是为什么如果您尝试再次发布相同的 POST,您的浏览器会警告您——您真的想从亚马逊购买两本该书吗?

如果您的表单是搜索表单或类似表单,则 GET 是合适的。如果您的表单是登录表单、结帐表单等……则不然。

于 2012-09-19T07:33:27.337 回答
0

获取不安全。但发布如此!确保永远不要使用 get。这不是一个更好的做法。如果我们传递的数据对用户没有用处,我们可以使用 get。

于 2012-09-19T12:14:27.663 回答