【发布时间】:2018-12-29 06:04:12
【问题描述】:
我正在尝试用javascript代码(fetch api)测试IBM watson的音调分析器
这是我的代码:
异步发布(url,key,textData) {
const response1 = await fetch(`https://gateway.watsonplatform.net/tone-analyzer/api/v3/tone?version=2017-09-21&statements=false`,{
method: 'POST',
headers:
{
'Content-type': 'application/json',
'apikey':'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
},
body: JSON.stringify(textData)
});
const responseData = await response1.json();
return responseData;
console.log(responseData);
}
现在,这个特定的代码抛出错误:
加载失败 https://gateway.watsonplatform.net/tone-analyzer/api/v3/tone?version=2017-09-21&statements=false: 请求头字段 apikey 不允许 预检响应中的 Access-Control-Allow-Headers。
我使用邮递员工具检查了这个,它工作正常。
我在使用 XMLHttpRequest 时遇到了与 https://openweathermap.org/api 类似的问题,并且在使用 fetch 时没有再次发生。
我能指点一下吗 1)邮递员和简单的javascript代码有什么区别? 2) 未来如何克服这些错误?
【问题讨论】:
-
这不是重复的,因为它不是关于 No 'Access-Control-Allow-Origin' 标头,而是关于不包含特别请求的密钥的响应标头。
标签: javascript ibm-watson tone-analyzer