为什么 axios 库在 API 调用不以 "https://" 开头时无法发出请求?



这对我来说不再是一个问题了,因为我解决了这个问题,但我仍然想问它,以便更好地理解幕后发生的事情。因此,我使用API来获取有关特定城市当前天气的数据。调用(根据API提供者的文档))如下:

axios.get(`api.openweathermap.org/data/2.5/weather?q=${countryCapital}&appid=%{API_KEY}`)

请求失败。控制台显示请求是向前面附加了http://localhost:3000/的地址发出的,这就是它失败的原因。当我将API调用修改为:

axios.get(`https://api.openweathermap.org/data/2.5/weather?q=${countryCapital}&appid=%{API_KEY}`)

则一切正常。为什么会这样呢?

当不指定方案时,URL将是一个相对URL!

// `url` is the server URL that will be used for the request
url: '/user',
// `method` is the request method to be used when making the request
method: 'get', // default
// `baseURL` will be prepended to `url` unless `url` is absolute.
// It can be convenient to set `baseURL` for an instance of axios to pass relative URLs
// to methods of that instance.
baseURL: 'https://some-domain.com/api/',

相关内容

  • 没有找到相关文章

最新更新