我目前正尝试使用基本授权设置对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);

当我尝试运行它时,我收到错误:Uncaught SyntaxError:无法执行' setRequestHeader' on' XMLHttpRequest':'授权:'不是有效的HTTP标头字段名称。
有谁知道代码有什么问题?我是Javascript和API的新手,但非常感谢答案。 (如果有帮助的话,这里是Cloudight的文档的链接:https://cloudsight.readme.io我已经查看了它并试图找到其他授权HTTP标头Javascript示例但没有成功。)
答案 0 :(得分:4)
提供标头时,您不需要:
。将它们从以下位置删除:
xhr.setRequestHeader("Authorization:", ...
请求现在通过但返回了一些其他错误,您必须自行处理。我想这不是问题。
这适用于每个标题,不仅适用于Authorization
。希望这可以解决您的问题。