我使用 GWT(Java 到 JavaScript)作为前端,使用 RPC
机制(AJAX
)来发出服务器请求(Servlets
是键)。
目前一切顺利。
现在已经生成了一个测试用例
1)向服务器发起请求
2)在断开客户端(用户)的互联网之间。
3) 我们正在处理 InvocationException
通过显示一些消息
。
@Override
public void onFailure(Throwable caught) {
NTMaskAlert.unMask();
if(caught instanceof InvocationException){
NTFailureMessage.showFailureException(caught,"Network disconnected");
}
onNTFailure(caught);
}
3) 现在 client
重新连接,用户发出 请求。
这是有趣的一点。
一旦互联网重新连接,浏览器就开始处理之前的请求
,我在 fire-bug 中观察到了这一点。如果我断开连接两次并重新连接两次,自动请求两次并发生重复数据。
最佳答案
原因很简单,这种行为通常是用户想要的。
也就是说,如果他们暂时断开网络,例如因为无线路由器出现故障,那么大多数时候他们希望浏览器、邮件等会在网络恢复时尝试重新连接,他们不要指望必须转到每个窗口并“刷新”才能让它重新开始工作。
关于java - 当互联网重新连接时,浏览器会在请求失败时自行发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18820812/