Javascript IE11-304状态代码中的平均堆栈-快速-页面缓存

Javascript IE11-304状态代码中的平均堆栈-快速-页面缓存,javascript,express,internet-explorer-11,mean.io,http-status-code-304,Javascript,Express,Internet Explorer 11,Mean.io,Http Status Code 304,我正在使用MEAN stack开发我的应用程序。应用程序在chrome中运行良好,但当页面在IE中打开时,当用户请求页面时,我从服务器获得304状态。由于这个原因,缓存的页面被服务回用户 有趣的是,如果我打开IE开发者工具栏,然后选择网络选项卡并记录各种请求,应用程序就会开始正常工作。我开始从服务器得到200个响应 到目前为止,我已经尝试过:app.disable('etag') 这是: app.get('/*', function(req, res, next){ res.setHead

我正在使用MEAN stack开发我的应用程序。应用程序在chrome中运行良好,但当页面在IE中打开时,当用户请求页面时,我从服务器获得304状态。由于这个原因,缓存的页面被服务回用户

有趣的是,如果我打开IE开发者工具栏,然后选择网络选项卡并记录各种请求,应用程序就会开始正常工作。我开始从服务器得到200个响应

到目前为止,我已经尝试过:
app.disable('etag')

这是:

app.get('/*', function(req, res, next){ 
  res.setHeader('Last-Modified', (new Date()).toUTCString());
  next(); 
});

但是这两个选项对我都不起作用。

您是否尝试设置此处描述的缓存头:


我认为etag本身不允许浏览器理解服务器端期望的缓存策略应该是什么。etag实际上只是通过校验和来识别服务器端资源的一种方法。

您是否尝试过设置此处描述的缓存头:


我认为etag本身不允许浏览器理解服务器端期望的缓存策略应该是什么。etag实际上只是一种通过校验和来识别服务器端资源的方法。

为了回答我自己的问题,我在客户端(角度端)添加了这一点。 我基本上是将日期时间作为查询字符串参数添加到每个即将发出的AJAX请求中

$httpProvider.interceptors.push(function ($q) {
    return {
      'request': function (config) {
        config.url = config.url + '?token=' + new Date().toLocaleString() ;
        return config;
      }
    }
  });

为了回答我自己的问题,这是我在客户端(角度侧)添加的内容。 我基本上是将日期时间作为查询字符串参数添加到每个即将发出的AJAX请求中

$httpProvider.interceptors.push(function ($q) {
    return {
      'request': function (config) {
        config.url = config.url + '?token=' + new Date().toLocaleString() ;
        return config;
      }
    }
  });

或者:
newdate().getTime()
;)或者:
newdate().getTime()
;)