【问题标题】:Ajax Request header keep aliveAjax 请求标头保持活动状态
【发布时间】:2013-10-19 16:25:37
【问题描述】:

如果有任何新数据可用于服务器,我有Ajax request 来更新客户端页面。我已经设置了连接'keep-Alive' 所以这里我不会每次都拨打新的Ajax 来检查更新的数据。如果有任何记录可用,我有回调更新页面。

下面是我的Ajax Request

xmlRequest.open("post", url, true);
xmlRequest.setRequestHeader("Connection", "Keep-Alive");
xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlRequest.send(some data);

它工作正常,但是如果用户刷新浏览器,Ajax 不会从服务器获取更新的数据。

我对连接类型"keep-Alive" 的工作原理不是很清楚。但似乎当用户刷新浏览器时,Ajax 连接丢失到服务器,因此 Ajax 停止列出。

我知道我可以通过在浏览器刷新页面时拨打新电话来解决此问题。但在这里我想了解它真的Ajax keep-Alive 在浏览器刷新时失去连接。

【问题讨论】:

标签: javascript ajax


【解决方案1】:

javascript 环境通常会在页面重置时被清除,但您可以使用window.localStorage 来保持刷新并维护您的 xmlRequest 变量。然后您应该能够一起测试客户端+服务器端,看看是否有必要重新初始化连接。

【讨论】:

  • 存储(本地和全局)不可通过服务器传输。通过使用 cookie 机制使调试更容易,document.cookie 字符串也将被传输到服务器,如果您在服务器端进行 tcp-dumping,您可以进行完整的完整性测试,而且您仍然可以在浏览器上看到它。 .
猜你喜欢
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-09
  • 2016-09-07
相关资源
最近更新 更多