页面刷新和页面回传的区别

8

我的问题是 - 按下F5键进行页面刷新和按下按钮进行PostBack的区别是什么?

请问有人能告诉我吗?

先谢过了。

3个回答

14

刷新指的是无需任何表单数据的页面完全重新加载。这基本上是一个 HTTP GET 请求。

回传是指页面通过 form action="" 向自身提交。这基本上是一个 HTTP POST 请求。


谢谢您的回复,Oded。 请问当我按F5和选择URL后按Enter键时,是否有任何区别呢? :) - Mohit Kumar
1
@Mohit Kumar - 当按下F5时,您可能会重新发布表单数据(浏览器通常会发出警告)。当选择URL并输入时,这将是一个_新_请求。 - Oded
再次感谢Oded。我不理解“您可能会重新发布表单数据”的含义。你能解释一下吗? - Mohit Kumar
1
@Mohit Kumar - 这意味着,如果您看到的页面是转帖的结果,按F5可能会导致另一个转帖。 - Oded

4

让我们来了解刷新和显式提交页面之间的实际区别:

1)刷新并不意味着使用get方法重新提交页面。(您可以使用response.write request.form("some input type")进行检查。)

2)差异在于发送到服务器的数据: 在显式提交的情况下,表单将以最新值提交(即它识别表单元素中的更改) 但在刷新的情况下,表单将以默认表单值提交。(即,如果您更改表单元素的值,它将不会在服务器上反映。)


0

当页面刷新时,这意味着页面在没有任何数据的情况下向服务器发送请求,也就是说使用了HTTP GET方法。但在另一种情况下,假设触发了一个事件,在页面完全加载到浏览器后,如果我们按下F5或刷新,则会将以前的数据与请求实例一起发送,这意味着服务器将再次执行该数据的操作......你是否曾经看到过这样的情况:当你在线购物选择商品并按下接受按钮后,你会得到总价,现在如果你刷新页面,那么对于所选的商品,它将再次去服务器,这意味着你正在两次购买同样的东西......我想现在你已经明白我想说什么了...

                           in  when page is postback then code of that page again compile and also processing `request data`. this process will going on

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接