提问者:小点点

Javascript授权HTTP头


我目前正在尝试设置一个对一个具有基本授权的REST API(Cloudsight)的POST请求。到目前为止我的代码是:

null

var xhr = new XMLHttpRequest();

xhr.open("POST", "http://api.cloudsightapi.com/image_requests", true);
xhr.setRequestHeader("Authorization:", "CloudSight [key]");
xhr.setRequestHeader("Content-Type", "http://previews.123rf.com/images/valzann/valzann1412/valzann141200061/34262193-cigarette-end-on-a-white-background-Stock-Photo.jpg");

xhr.send(null);
console.log(xhr.status);
console.log(xhr.statusText);

null

当我尝试并运行它时,我得到错误:Uncatted SyntaxError:无法对“XMLHttpRequest”执行“set requestHeader”:“authorization:”不是有效的HTTP头字段名。

有人知道代码出了什么问题吗?我对Javascript和API非常陌生,但希望您能回答我。(下面是Cloudsight文档的链接(如果有帮助的话):https://cloudsight.readme.io我已经浏览了它,并试图找到其他授权HTTP头Javascript示例,但没有成功。)


共1个答案

匿名用户

提供标头时不需要:。将它们从以下位置删除:

xhr.setRequestHeader("Authorization:", ...

请求现在通过了,但返回了一些其他错误,您必须自己处理这些错误。我想这不会是个问题。

这适用于每个头,不仅适用于authorization。希望这能解决你的问题。