我目前正在开发一个使用 Mention API 的仪表板。但是,由于 CORS 政策,我遇到了困难。
如果仪表板在 Chrome 或其他具有严格 CORS 策略的浏览器上打开,它们每次都会发出预检 OPTIONS 请求,但 Mention API 似乎不支持这些请求。
因此,每次我做类似的事情:
this.mentionAPI = axios.create({
baseURL: 'https://web.mention.net/api/accounts/my-account-id',
headers: {
'Authorization': 'Bearer my-access-token',
}
});
this.mentionAPI.get('/alerts')
.then((response) => {
console.log(response);
})
.catch((response) => {
console.log(response);
});
我收到状态为 405 Method Not Allowed 的响应。这表明 OPTIONS 请求根本不由 Mention API 处理。
自然,在我的情况下,我可以确保浏览器配置为不执行预检请求。毕竟,我的用例只规定了一个我完全控制的客户端。或者,我可以构建一个服务器端服务来代表我发出请求,但这似乎是用大炮打苍蝇,因为客户端 JavaScript 能够执行其他所有操作。
对此问题的任何帮助将不胜感激。也许我误解了 API 的使用方式?