【发布时间】:2020-12-02 17:49:55
【问题描述】:
我正在使用 Axios 向具有 htpasswrd 的 URL 发出 GET 请求。发出请求时,我在 DevTools 中收到了 CORS 策略错误,我认为这是由于 GET 请求未通过 htpasswrd。我认为将 htaccess 用户名和密码传递给端点的正确方法是使用 'auth' 配置选项,如下所示:
axios.get('https://example.com/api', {
auth: {
username: 'htusername',
password: 'htpassword'
}
}).then(response =>
{
console.log(response.data);
});
但这不起作用。有谁知道如何解决这个问题?
【问题讨论】:
-
CORS 相关的错误消息究竟说了什么?
-
我得到:从源 'localhost:3006' 访问 XMLHttpRequest 在 'example.com/api' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:否 'Access-请求的资源上存在 Control-Allow-Origin' 标头。
-
这很不寻常。我希望那里的 OPTIONS 请求会因 403 错误而失败,因为您在预检时需要凭据或会通过。在没有
Access-Control-Allow-Origin的情况下返回 200 OK 是相当奇怪的。您确实需要对 HTTP 请求进行一些调试(使用浏览器开发人员工具中的网络选项卡)以及生成它们的任何服务器端代码。
标签: javascript axios httprequest