我正在学习如何在JavaScript中使用fetch() API。现在我正试图转换一些代码,我有使用curl请求数据从外部API (aviationstack.com)在我的php,并取代它的AJAX调用。我正在使用他们的免费计划,不支持https,因此我试图使用http URL从他们的API获取:
fetch('http://api.aviationstack.com/v1/flights?access_key=myaccesskey').then(function(response)
{
//some stuff here
});
这个相同的url与旋度没问题我的php代码。问题是API似乎将此调用接收为https,因为它返回给我这个json:
{"error":{"code":"https_access_restricted","message":"Access Restricted - Your current Subscription Plan does not support HTTPS Encryption."}}
有人知道是什么原因引起的吗?我为它抓耳挠耳,却不能使它工作。任何帮助都将是非常感激的,因为我不完全理解这个过程,我很乐意得到一个更好的理解。
编辑:看来我真是个白痴。这一直是一个网络问题……谢谢你的回答,非常感谢尝试使用我的API密钥(在我的本地机器上):
fetch('http://api.aviationstack.com/v1/flights?access_key=<MY API KEY>').then(function(response)
{
console.log(response);
});
控制台提供了所需的响应,我得到200年状态。也许你应该检查API密钥。
能否检查/提供请求URL
?