我的问题是 - 按下F5键进行页面刷新和按下按钮进行PostBack的区别是什么?
请问有人能告诉我吗?
先谢过了。
刷新指的是无需任何表单数据的页面完全重新加载。这基本上是一个 HTTP GET
请求。
回传是指页面通过 form action=""
向自身提交。这基本上是一个 HTTP POST
请求。
让我们来了解刷新和显式提交页面之间的实际区别:
1)刷新并不意味着使用get方法重新提交页面。(您可以使用response.write request.form("some input type")进行检查。)
2)差异在于发送到服务器的数据: 在显式提交的情况下,表单将以最新值提交(即它识别表单元素中的更改) 但在刷新的情况下,表单将以默认表单值提交。(即,如果您更改表单元素的值,它将不会在服务器上反映。)
当页面刷新时,这意味着页面在没有任何数据的情况下向服务器发送请求,也就是说使用了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