【发布时间】:2020-02-21 03:44:13
【问题描述】:
我有一个从外部服务器(不是服务器)访问 API 的网站
为网站服务)通过普通的XmlHttpRequest(见下文)。那个API
需要将用于访问服务的 API 密钥添加为请求标头。
但是,因为这些是CORS
请求浏览器首先执行预检请求以检查该服务器是否
支持 CORS。现在,似乎服务器也想在
这些由浏览器完成的预检请求。是否可以通过
预检请求的 API 密钥?
const req = new XMLHttpRequest();
req.open("GET", "https://some/api/endpoint");
req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
req.setRequestHeader("x-api-key", _apiKey);
req.onload = () => {
// ...
};
req.send();
【问题讨论】:
-
服务器应该必须将接受的标头列入白名单,预检响应声明是什么?
标签: javascript http browser cors xmlhttprequest