在Axios中,当发出的请求返回状态码为400或以上时,会抛出一个错误。要捕获和处理这个错误,可以使用try-catch块。
以下是一个包含代码示例的解决方法:
import axios from "axios";
async function fetchData() {
try {
const response = await axios.get("https://example.com/api/data");
// 处理成功的响应数据
console.log(response.data);
} catch (error) {
if (error.response && error.response.status === 400) {
// 处理状态码为400的错误
console.log("请求失败,状态代码为400");
} else {
// 处理其他错误
console.log("请求失败:", error.message);
}
}
}
fetchData();
在上面的示例中,我们使用了一个async函数fetchData来发送GET请求。如果请求成功,我们可以在response.data中获取响应的数据。如果请求失败,我们使用try-catch块来捕获错误。在catch块中,我们首先检查错误对象中的response属性是否存在,并且状态码是否为400。如果是,我们打印出"请求失败,状态代码为400"。如果不是,我们打印出错误的消息。
请注意,你需要将"https://example.com/api/data"替换为你要请求的实际API地址。