axios by slanycukr/riot-api-project
npx skills add https://github.com/slanycukr/riot-api-project --skill axiosAxios 是一个基于 Promise 的 HTTP 客户端,适用于浏览器和 Node.js。它提供了一个简单的 API 来发起 HTTP 请求和处理响应。
import axios from "axios";
// 基于 Promise
axios
.get("/user?ID=12345")
.then((response) => console.log(response.data))
.catch((error) => console.error(error));
// Async/await
async function getUser() {
try {
const response = await axios.get("/user?ID=12345");
console.log(response.data);
} catch (error) {
console.error(error);
}
}
axios
.post("/user", {
firstName: "John",
lastName: "Doe",
})
.then((response) => console.log(response.data))
.catch((error) => console.error(error));
const api = axios.create({
baseURL: "https://api.example.com",
timeout: 1000,
headers: { "X-Custom-Header": "foobar" },
});
// 使用该实例
api.get("/users").then((response) => console.log(response.data));
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
axios({
method: "post",
url: "/user/12345",
data: {
firstName: "Fred",
lastName: "Flintstone",
},
headers: {
"Content-Type": "application/json",
Authorization: "Bearer token",
},
});
function getUserAccount() {
return axios.get("/user/12345");
}
function getUserPermissions() {
return axios.get("/user/12345/permissions");
}
Promise.all([getUserAccount(), getUserPermissions()]).then(
([account, permissions]) => {
console.log("Account:", account.data);
console.log("Permissions:", permissions.data);
},
);
axios.get("/user/12345").catch(function (error) {
if (error.response) {
// 服务器响应了错误状态码
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// 请求已发出但未收到响应
console.log(error.request);
} else {
// 请求设置出错
console.log("Error", error.message);
}
});
axios.get("/user/12345", {
validateStatus: function (status) {
return status < 500; // 仅当状态码小于 500 时才 resolve
},
});
axios.interceptors.request.use(
(config) => {
// 向请求头添加认证令牌
const token = localStorage.getItem("token");
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
(error) => {
return Promise.reject(error);
},
);
axios.interceptors.response.use(
(response) => {
// 转换响应数据
return response.data;
},
(error) => {
// 处理常见错误
if (error.response?.status === 401) {
// 重定向到登录页
window.location.href = "/login";
}
return Promise.reject(error);
},
);
const api = axios.create({ baseURL: "/api" });
api.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return api(error.config); // 重试原始请求
}
throw error;
});
const config = {
url: "/user",
method: "get",
baseURL: "https://api.example.com",
headers: { "X-Requested-With": "XMLHttpRequest" },
params: { ID: 12345 },
data: { firstName: "John" },
timeout: 5000,
responseType: "json",
withCredentials: false,
validateStatus: (status) => status >= 200 && status < 300,
};
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("username", "john");
axios.post("/upload", formData, {
headers: {
"Content-Type": "multipart/form-data",
},
});
axios.get("/download/file", {
onDownloadProgress: (progressEvent) => {
const percentCompleted = Math.round(
(progressEvent.loaded * 100) / progressEvent.total,
);
console.log(`Download: ${percentCompleted}%`);
},
});
Axios 响应包含:
{
data: {}, // 服务器响应数据
status: 200, // HTTP 状态码
statusText: 'OK', // HTTP 状态消息
headers: {}, // 响应头
config: {}, // 请求配置
request: {} // 请求对象
}
import axios, { AxiosResponse } from "axios";
interface User {
id: number;
name: string;
email: string;
}
const response: AxiosResponse<User> = await axios.get<User>("/user/123");
const user: User = response.data;
每周安装量
84
代码仓库
GitHub 星标数
2
首次出现
2026年1月22日
安全审计
安装于
opencode72
gemini-cli70
codex70
github-copilot67
kimi-cli61
amp61
Axios is a promise-based HTTP client for the browser and Node.js. It provides a simple API for making HTTP requests and handling responses.
import axios from "axios";
// Promise-based
axios
.get("/user?ID=12345")
.then((response) => console.log(response.data))
.catch((error) => console.error(error));
// Async/await
async function getUser() {
try {
const response = await axios.get("/user?ID=12345");
console.log(response.data);
} catch (error) {
console.error(error);
}
}
axios
.post("/user", {
firstName: "John",
lastName: "Doe",
})
.then((response) => console.log(response.data))
.catch((error) => console.error(error));
const api = axios.create({
baseURL: "https://api.example.com",
timeout: 1000,
headers: { "X-Custom-Header": "foobar" },
});
// Use the instance
api.get("/users").then((response) => console.log(response.data));
axios({
method: "post",
url: "/user/12345",
data: {
firstName: "Fred",
lastName: "Flintstone",
},
headers: {
"Content-Type": "application/json",
Authorization: "Bearer token",
},
});
function getUserAccount() {
return axios.get("/user/12345");
}
function getUserPermissions() {
return axios.get("/user/12345/permissions");
}
Promise.all([getUserAccount(), getUserPermissions()]).then(
([account, permissions]) => {
console.log("Account:", account.data);
console.log("Permissions:", permissions.data);
},
);
axios.get("/user/12345").catch(function (error) {
if (error.response) {
// Server responded with error status
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);
} else if (error.request) {
// Request was made but no response received
console.log(error.request);
} else {
// Error in request setup
console.log("Error", error.message);
}
});
axios.get("/user/12345", {
validateStatus: function (status) {
return status < 500; // Resolve only if status < 500
},
});
axios.interceptors.request.use(
(config) => {
// Add auth token to headers
const token = localStorage.getItem("token");
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
(error) => {
return Promise.reject(error);
},
);
axios.interceptors.response.use(
(response) => {
// Transform response data
return response.data;
},
(error) => {
// Handle common errors
if (error.response?.status === 401) {
// Redirect to login
window.location.href = "/login";
}
return Promise.reject(error);
},
);
const api = axios.create({ baseURL: "/api" });
api.interceptors.response.use(undefined, async (error) => {
if (error.response?.status === 401) {
await refreshToken();
return api(error.config); // Retry original request
}
throw error;
});
const config = {
url: "/user",
method: "get",
baseURL: "https://api.example.com",
headers: { "X-Requested-With": "XMLHttpRequest" },
params: { ID: 12345 },
data: { firstName: "John" },
timeout: 5000,
responseType: "json",
withCredentials: false,
validateStatus: (status) => status >= 200 && status < 300,
};
const formData = new FormData();
formData.append("file", fileInput.files[0]);
formData.append("username", "john");
axios.post("/upload", formData, {
headers: {
"Content-Type": "multipart/form-data",
},
});
axios.get("/download/file", {
onDownloadProgress: (progressEvent) => {
const percentCompleted = Math.round(
(progressEvent.loaded * 100) / progressEvent.total,
);
console.log(`Download: ${percentCompleted}%`);
},
});
Axios responses contain:
{
data: {}, // Server response data
status: 200, // HTTP status code
statusText: 'OK', // HTTP status message
headers: {}, // Response headers
config: {}, // Request config
request: {} // Request object
}
import axios, { AxiosResponse } from "axios";
interface User {
id: number;
name: string;
email: string;
}
const response: AxiosResponse<User> = await axios.get<User>("/user/123");
const user: User = response.data;
Weekly Installs
84
Repository
GitHub Stars
2
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode72
gemini-cli70
codex70
github-copilot67
kimi-cli61
amp61
飞书OpenAPI Explorer:探索和调用未封装的飞书原生API接口
37,900 周安装
Jira项目管理与问题跟踪技能 - 使用Membrane CLI实现自动化集成
265 周安装
Mapbox Android 集成模式:Kotlin与Jetpack Compose地图开发指南
272 周安装
仕訳入力・帳簿管理スキル - CSV/レシートから自動仕訳、会計業務効率化
265 周安装
Google Workspace CLI 首次设置指南:gws-setup 安装与OAuth配置
274 周安装
阿里云KMS密钥管理服务自动化脚本 - 安全云服务API调用指南
267 周安装
阿里云Model Studio模型爬取与技能自动生成工具 - 自动化AI技能开发
267 周安装