我的任务是修复其他人编写的一些JS代码中的问题,这是我第一次使用该语言,所以我可能会遗漏一些关键的东西。
最初的问题是我们向服务器发送了一个带有视频源请求的URL的页面,但该请求是在基本身份验证中没有用户/ pwd的情况下发送的,这是服务器所期望的。
要解决此问题,我正在尝试使用XMLHttpRequest,并将凭据提供给Open()方法,如下所示:
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", res, true, "admin", "admin");
xmlHttp.withCredentials = "true";
xmlHttp.send(null);
但是,我在服务器端获得的是一个没有基本身份验证标头的请求。据我所知,XMLHttpRequest()发出的第一个请求不会发送凭据,只有在服务器向浏览器提出401错误的情况下才会进行第二次尝试。我看到的是,如果我不在open()调用中包含凭据,我只会按预期获得1次调用(失败)。当我包含凭据时,我确实得到了第二个呼叫,但它与第一个呼叫完全相同 - 没有基本认证头。
我做错了什么?