如何将标头放入api调用中?

时间:2019-04-19 16:12:46

标签: javascript

我正在对

进行api调用

http:// s:// {hostaddress:port} /com.broadsoft.xsi-actions/v2.0/user/ {userid} / services / callcenter

我已经更改了URL中的适当信息,以反映正确的主机地址/端口/用户ID。

完成后,页面会要求我使用用户名和密码登录。

我可以手动输入此信息,并接收所需的XML。这不是理想的。我希望有一个可以传递此信息的表格。

据我了解,此信息在“标题”中传递。我试图查找如何执行此操作,甚至尝试使用邮递员时运气不佳。我不确定该怎么做。

function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      myFunction(this);
    }
  };
  xhttp.open("GET", "http(s)://{hostaddress:port}/com.broadsoft.xsi-actions/v2.0/user/{userid}/services/callcenter", true);
  xhttp.send();
}
每个W3学校,我可以使用setRequestHeader(),它在要发送的标头上添加标签/值对。

我尝试过

function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      myFunction(this);
    }
  };
  xhttp.open("GET", "http(s)://{hostaddress:port}/com.broadsoft.xsi-actions/v2.0/user/{userid}/services/callcenter", true);
  xhttp.send();setRequestHeader(Username:myUserName,Password:myPassword);
}

,无分辨率。一旦完成此工作,我将设置表格并传递值。

2 个答案:

答案 0 :(得分:3)

在任何情况下,您在设置标题之前都以错误的方式使用setRequestHeader并调用send

尝试

xhttp.setRequestHeader('Username', myUserName); 
xhttp.setRequestHeader('Password', myPassword);
xhttp.send(); // only call send after setting up the headers

答案 1 :(得分:1)

xhttp.setRequestHeaders(name, value),应该在xhttp.send()之前调用它。 mdn