JavaScript 授权 HTTP 头部

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:'不是有效的HTTP标头字段名称。
有人知道代码有什么问题吗?我对JavaScript和API非常陌生,但非常感谢您的回答。(如果有帮助,这是Cloudsight文档的链接:https://cloudsight.readme.io。我已经查看了文档并尝试找到其他授权HTTP头JavaScript示例,但没有成功。)

在“Authorization:”的末尾有一个“:”,请将其删除并再次测试。 - t.niese
1个回答

7

在提供头信息时,您不需要使用:符号。请将其从以下内容中删除:

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

现在请求已经通过,但是返回了其他错误,你需要在你的部分进行处理。我猜这不会是一个问题。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接