3

我目前正在尝试使用基本授权设置对 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: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'Authorization:' is not a valid HTTP header field name。

有谁知道代码有什么问题?我对 Javascript 和 API 很陌生,但非常感谢您的回答。(如果有帮助,这里是 Cloudsight 文档的链接:https ://cloudsight.readme.io我已经查看了它并试图找到其他 Authorization HTTP Header Javascript 示例但没有成功。)

4

1 回答 1

7

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

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

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

这适用于每个标题,不仅适用于Authorization. 希望这可以解决您的问题。

于 2015-10-12T15:01:43.323 回答