我被要求从OLAP服务器加载下拉框,并提供服务器凭据。它们如下
以下是我写的代码:
var hr = new XMLHttpRequest();
var url= "http://someIPAddress/getData";
alert("Before Posting data");
hr.open("POST",url,true);
alert("Connection open");
document.getElementById("submitButton").disabled = true;
document.getElementById("status").innerHTML = "Loading...";
hr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
hr.onreadystatechange = function(){
alert("Entered callback function...");
if(hr.readyState == 4 && hr.status == 200){
var return_data = hr.responseText;
alert(return_data);
}
else{
alert("There is a connection issue");
var return_data = hr.responseText;
}
}
ajaxReq.send("POST",url,function populate(){
alert("Request received");
})
}
这些是提供的确切数据(网址,用户名和密码除外。我这里没有披露实际数据)
我试图通过指定URL,POST和回调函数来使用XMLHttpRequest()
。如何在此处传递用户名和密码,以便它以数据回复您
当我尝试访问该网址时,它询问了我的用户名:和密码:
我不知道如何使用url附加凭据,因为我没有指定值的确切键。能否请你帮忙。我想我错过了什么
答案 0 :(得分:1)
您需要向请求发送Authorization
标头。此标头值包含用户名,后跟':'和密码,编码为base64:
hr.setRequestHeader('Authorization', 'Basic ' + btoa(username + ':' + password));
btoa()
将字符串编码为base64。
答案 1 :(得分:0)
您是否尝试过像http://user:pass@someIPAddress/getData
这样的URI,也许这就是您所需要的。我从未尝试过提交表单,但你可以查看