回发和回调之间的区别

2022-08-30 05:13:34

我一直听到“回调”和“回发”这两个词被抛来抛去。
两者之间有什么区别?

回发是否非常特定于 ASP.NET 页面?


答案 1

当页面上的数据(整个页面)从客户端发布到服务器时,将发生回发。即数据被回发到服务器,因此页面被刷新(重新绘制)...可以将其视为“向服务器发送整个页面(asp.net)充满数据”。

另一方面,回调也是一种特殊的回发,但它只是快速往返服务器以获取一小组数据(通常),因此页面不会刷新,这与回发不同...可以将其视为“调用服务器,并接收一些数据”。

使用 Asp.Net 时,调用回调时不会刷新 ViewState,这与回发不同。

使用 ASP.Net 发布整个页面的原因是,ASP.Net 将整个页面包含在带有post方法中,因此当单击页面中的提交按钮时,表单将与表单中的所有字段一起发送到服务器...基本上是整个页面本身。<form>

如果您使用的是 FireBug(用于 Firefox),您实际上可以看到在 .这样,您将看到哪些特定数据被发送到服务器()以及服务器发回您的数据()。ConsoleRequestResponse


下图说明了基于 ASP.NET 的网站中回发和回调的页面生命周期:

ASP.NET Page Life Cycles
(资料来源:esri.com


答案 2

当请求从客户端发送到服务器时,将发生回发,该请求与用户当前正在查看的页面相同。发生回发时,将刷新整个页面,您可以在浏览器底部的进度条上看到典型的进度。

回调(通常与AJAX一起使用)发生在将请求从客户端发送到页面未刷新的服务器时,仅更新了页面的一部分,而不会在浏览器上发生任何闪烁