我目前正在开发一个使用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是如何被消费的?