Node.js 允许NodeJ和Express处理缓存控制头

Node.js 允许NodeJ和Express处理缓存控制头,node.js,express,Node.js,Express,我在nodeJS中有一个服务器,负责通过REST提供一些资源 最近,API的一个使用者开始在标头上添加以下内容:“缓存控制”:“无缓存” 节点使用以下选项拒绝飞行前选项: 访问控制允许标头错误不允许请求标头字段缓存控制 我对此没有问题。但我不知道我在哪里可以允许这在快递 这就是我的express中间件的外观 app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); res.

我在nodeJS中有一个服务器,负责通过REST提供一些资源

最近,API的一个使用者开始在标头上添加以下内容:“缓存控制”:“无缓存”

节点使用以下选项拒绝飞行前选项: 访问控制允许标头错误不允许请求标头字段缓存控制

我对此没有问题。但我不知道我在哪里可以允许这在快递

这就是我的express中间件的外观

 app.use(function(req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');

  // Request headers you wish to allow
  res.setHeader('Access-Control-Allow-Headers', 'my-header,X-Requested-With,content-type,Authorization');
  //res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
  // Set to true if you need the website to include cookies in the requests sent
  // to the API (e.g. in case you use sessions)
  res.setHeader('Access-Control-Allow-Credentials', true);

  res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
  res.setHeader("Pragma", "no-cache"); // HTTP 1.0.
  res.setHeader("Expires", "0"); // Proxies.

  // Pass to next layer of middleware
  next();
});

现在我有了答案

缓存控制需要列在Access control Allow标头中(令人惊讶的是,这正是错误告诉我的)。不仅仅是作为一个特定的标题

因此,在上面的代码中,我们需要替换

res.setHeader('Access-Control-Allow-Headers','my header,X-request-With,content-type,Authorization');

  res.setHeader('Access-Control-Allow-Headers', 'my-header,X-Requested-With,content-type,Authorization,cache-control');