axios没有返回带有参数对象匹配查询字符串的数据,而是以vanila JS返回所有数据

时间:2019-09-27 18:16:02

标签: javascript axios

我有一个api端点https://countriesnode.herokuapp.com/v1/countries

现在,我通过

获取所有国家/地区

axios.get('https://countriesnode.herokuapp.com/v1/countries')

它成功返回。此外,我想使用“ BB”之类的国家/地区代码获取单个国家/地区,并且我正在尝试使用params,而我的对象如下所示

axios.get('https://countriesnode.herokuapp.com/v1/countries',
 {
 params: {
 code: codeId
 }

,但是它返回上面的所有数据,而不是使用以下代码显示单个国家/地区。我也只想提取货币和区号。我想这样尝试,不知道它是否会起作用。

.then(axios.spread((object) => {
      console.log('Currency: ', object.data.currency);
      console.log('Area code: ', object.data.emojiU);
    }));

请有人帮助我...我花了很多时间来解决这个问题,但未能成功。

1 个答案:

答案 0 :(得分:1)

根据您的评论,如果要获取特定国家/地区的数据,只需将国家/地区代码ID附加到URL:

const codeId = 'BB';
axios.get(`https://countriesnode.herokuapp.com/v1/countries/${codeId}`)

将为您提供巴巴多斯的数据。

如果您想访问currency属性,可以使用以下代码进行访问:

const codeId = 'BB';
axios.get(`https://countriesnode.herokuapp.com/v1/countries/${codeId}`).then(function(response) {
    const currency = response.data.currency;
});