Node.js 允许NodeJ和Express处理缓存控制头
我在nodeJS中有一个服务器,负责通过REST提供一些资源 最近,API的一个使用者开始在标头上添加以下内容:“缓存控制”:“无缓存” 节点使用以下选项拒绝飞行前选项: 访问控制允许标头错误不允许请求标头字段缓存控制 我对此没有问题。但我不知道我在哪里可以允许这在快递 这就是我的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.
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');