0

我正在尝试使用 javascript 代码(获取 api)测试 IBM watson 的音调分析器

这是我的代码:

异步发布(网址,密钥,文本数据){

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:预检中 Access-Control-Allow-Headers 不允许请求标头字段 apikey回复。

我使用邮递员工具检查了这个,它工作正常。

我在使用 XMLHttpRequest 时遇到了与https://openweathermap.org/api类似的问题, 并且在使用 fetch 时没有再次发生。

我可以得到一些关于 1) 与邮递员和简单的 javascript 代码有什么区别吗?2)将来如何克服这些错误?

4

1 回答 1

0

这是一个经典的 CORS 限制。Postman 的工作原理不是将其归类为浏览器,而是作为具有 REST 客户端的应用程序。

于 2018-07-23T12:24:08.020 回答