+-
如何在异步模式下使用XMLHttpRequest设置多个标头数据?

我的api调用要求我在标头中传递api密钥,但从api服务{"error":"2424452","message":"Invalid Api Key"}中传回错误信息>

我知道我的api密钥有效,因为我可以在Python中进行相同的api调用,例如:

req = requests.Session()
req.headers.update({'x-api-key': 'my-api-key', 'X-Product': 'my-product-name'})
req.get(url)

但是在javscript中,相同的调用会出错。我相信我没有正确设置标题或其他内容?

var req = new XMLHttpRequest();
req.onreadystatechange=handleStateChange;
req.open("GET", "url", true);
req.setRequestHeader("Host", "api.domain.com", "x-api-key", "my-api-key", "X-Product", "my-product-name");
req.send();
XMLHttpRequest不是浏览器调用,而是在支持 XMLHttpRequest的应用程序中。

我的api调用要求我在标头中传递api密钥,但是我从api服务{“错误”:“ 2424452”,“消息”:“无效的api密钥”中收到错误信息}我知道我的api密钥有效,因为我可以使...

20
投票

setRequestHeader设置one

2
投票

如果您不想显式设置多个标题,则>

function setHeaders(headers){
  for(let key in headers){
    xhr.setRequestHeader(key, header[key]) 
  }
}
setHeaders({"Host":"api.domain.com","X-Requested-With":"XMLHttpRequest","contentType":"application/json"})