我在VueJs遇到问题。当我尝试设置标题(我将在其中发送JWT标记)时,开发人员工具总是显示,此请求是OPTIONS。我正在检查documentation,据我所知,这是正确的实施方式,所以我错过了什么?。
getCurrentUser() {
let token = this.$jwt.getToken();
if (token) {
let jwtPayloadDecoder = require('jwt-payload-decoder');
let payload = jwtPayloadDecoder.getPayload(token);
this.$http.get(this.$apiUrl + `rest/api/public/User/user/` + payload.id_user, {
headers: {
'jwtToken': token,
}
})
.then((response) => {
if (response.statusText === 'OK') {
flash('Got user', 'success');
}
})
.catch(e => {
flash('Something is wrong. Please try again later.', 'error');
});
} else this.$router.push('/');
},
我的appache httpd.conf
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin: *
</IfModule>
如果您需要任何其他信息,请告诉我,我会提供。谢谢!
答案 0 :(得分:1)
浏览器发送带有OPTIONS方法的预检请求,这些方法似乎被您的Web服务器拒绝。如果您使用200响应OPTIONS调用并从服务器响应正确的访问控制标头,则应在之后发送正确的请求。
查看预检请求:https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request 和CORS一般用于进一步的信息。