Javascript授权HTTP标头

tea*_*cut 2 javascript api header http cloudsight

我目前正在尝试通过基本授权向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);
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,出现错误:Uncaught SyntaxError:无法在'XMLHttpRequest'上执行'setRequestHeader':'Authorization:'不是有效的HTTP标头字段名称。

有人知道代码有什么问题吗?我是Java和API的新手,但是非常感谢您提供答案。(如果有帮助,这里是指向Cloudsight文档的链接:https ://cloudsight.readme.io 我仔细检查了一下,试图找到其他未成功的Authorization HTTP Header Javascript示例。)

div*_*m12 5

:提供标题时,您不需要。从以下位置删除它们:

xhr.setRequestHeader("Authorization:", ...
Run Code Online (Sandbox Code Playgroud)

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

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