如何使用axios获取colormind API?

n6lpvg4x  于 2023-06-22  发布在  iOS
关注(0)|答案(1)|浏览(158)

我试图使用Axios获取Colormind API。但结果显示网络错误。如何解决这个问题?

const url = "http://colormind.io/api/";
const data = {
    model: "default"
  }

const reloadBtn = document.querySelector('.reload-btn')

async function getColors(){
  axios.post(url,data)
  .then(response => {
    const palette = response.data.result;
     console.log(response)
  })
  .catch(error => {
    console.error(error);
  });
  
}

reloadBtn.addEventListener('click',async (e) => {
  await getColors();
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/1.4.0/axios.min.js" integrity="sha512-uMtXmF28A2Ab/JJO2t/vYhlaa/3ahUOgj1Zf27M5rOo8/+fcTUVH0/E0ll68njmjrLqOBjXM3V9NiPFL5ywWPQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<button class="reload-btn">click</button>
l7wslrjt

l7wslrjt1#

要使用Axios获取Colormind API,您需要确保正确发出API请求并处理任何潜在错误。下面是一个如何修改代码以成功获取API的示例:

const axios = require('axios');

const url = "http://colormind.io/api/";
const data = {
  model: "default"
};

const reloadBtn = document.querySelector('.reload-btn');

async function getColors() {
  try {
    const response = await axios.post(url, data);
    const palette = response.data.result;
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

reloadBtn.addEventListener('click', async (e) => {
  await getColors();
});

在修改后的代码中:
首先,通过运行npm install axios或使用其他方法将其包含在项目中,确保已安装Axios。
使用const axios = require('axios')导入Axios库;如果使用ES模块,则使用import语句。
在getColors()函数中使用async/await方法向Axios发出异步API请求。通过这种方式,您可以直接使用await关键字来等待响应,而不是使用.then()和.catch()链接promise。
将API请求 Package 在try/catch块中以处理任何潜在的错误。如果发生错误,它将在catch块中被捕获,您可以将错误记录到控制台。
确保您有稳定的互联网连接,并且可以从您的网络访问Colormind API。如果您仍然遇到网络错误,请确保检查您的网络设置和防火墙配置,以确保API请求未被阻止。
请记住在应用程序中用适当的HTML替换click行。
通过这些修改,您应该能够使用Axios成功获取Colormind API。

相关问题