Javascript 授权 HTTP Headers

Javascript Authorization HTTP Headers

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

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);

当我尝试 运行 时,我收到错误消息:未捕获的语法错误:无法在 'XMLHttpRequest' 上执行 'setRequestHeader':'Authorization:' 不是有效的 HTTP header 字段名.

有人知道代码有什么问题吗?我是 Javascript 和 API 的新手,但非常感谢您的回答。 (这里是 Cloudsight 文档的 link,如果它有帮助的话:https://cloudsight.readme.io 我已经查看过它并试图找到其他授权 HTTP Header Javascript 示例,但没有成功。)

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

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

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

这适用于每个 header,而不仅仅是 Authorization。希望这能解决您的问题。