JavaScript的location.reload()在本地Apache和实时服务器上的行为有所不同。原因是什么?

时间:2016-04-04 08:28:37

标签: javascript html5 apache

我正在编写一个使用文本框的网络应用程序,用于以下目的:插入数据(由用户),显示结果。

应用程序以这种方式使用:

用户插入数据,单击exec按钮。计算结果并在文本框中呈现给用户。

现在,用户可以单击重置按钮以将应用程序移动到其初始状态。这样就可以实现新的用法。

由重置按钮触发的JavaScript:

wr.reset.addEventListener('click', function() { 
  location.reload(); 
}) 

我将这些代码用于我用于开发的本地Apache安装。一切都很好。该页面已重新加载。 所有设置为初始状态的文本框 =>我定义为“值”的连字符。

<div class="vertical-pair col-xs-4"> 
  <label for="word-count">Complete word-count:</label> 
  <input type="text" id="word-count" value=" - " /> 
</div> 

现在我在真正的服务器上试用过该应用程序(由webhoster运行)并得到以下结果:

页面已重新加载,但输入框的内容仍然存在。

意味着:用户输入的数据仍然在执行重置按钮后的框中。

导致这些不同行为的原因(在本地Apache安装和实时服务器上)?

目前我已将'location.reload()'替换为'location.href =“页面本身的网址”'。

这种方法是有效的替代方案还是有缺陷?

1 个答案:

答案 0 :(得分:1)

只需使用true第一个参数即可在重新加载时禁用浏览器缓存。

语法:

  

location.reload(forcedReload);

<强>参数

  

forcedReload 可选
  是一个布尔标志,如果为true,则会导致始终从服务器重新加载页面。如果是假的   或者未指定,浏览器可以从其缓存重新加载页面。