我有一个VueJS应用程序和一个ExpressJS服务器端应用程序。在我的服务器我有以下:请求标头字段授权是Access-Control-Allow-Headers不允许的错误
var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', req.headers.origin);
res.setHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
next();
}
app.use(allowCrossDomain);
不过,我不断收到以下错误:
Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.
我送我的要求是这样的:
import axios from 'axios'
export default axios.create({
baseURL: 'https://example.com',
timeout: 5000,
headers: {
'Authorization': 'Bearer ' + accessToken
}
})
哪有我解决这个问题?我已经尝试了很多解决方案并阅读了这个。我已阅读下面:
您的服务器是否响应OPTIONS请求,浏览器会发送该请求来预检请求以查看它是否被允许?我建议你看一下Chrome调试器中的网络标签,看看浏览器正在发送什么以及你的服务器在响应什么。通常,您可以在该信息中更准确地看到问题。 – jfriend00