当前位置: 首页 > wzjs >正文

做网站底色怎么选seo专业培训seo专业培训

做网站底色怎么选,seo专业培训seo专业培训,保定专业做网站的公司,毕设做网站些什么比较简单Axios 详解 1. 简介 定义:Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js 环境,简化 HTTP 请求的发送和处理。核心特点: 支持 Promise API,可链式调用。自动转换 JSON 数据。支持请求/响应拦截。可取…

Axios 详解

在这里插入图片描述


1. 简介
  • 定义:Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js 环境,简化 HTTP 请求的发送和处理。
  • 核心特点
    • 支持 Promise API,可链式调用。
    • 自动转换 JSON 数据。
    • 支持请求/响应拦截。
    • 可取消请求。
    • 客户端支持防抖和跨域请求。

2. 核心功能
功能描述
GET/POST 请求发送 GETPOST 等 HTTP 方法请求。
Promise 支持通过 .then().catch() 处理异步操作。
拦截器在请求发送前或响应返回后拦截并修改请求/响应数据。
取消请求通过 CancelToken 取消未完成的请求。
响应类型支持 response.dataresponse.status 等详细响应信息。

3. 基本用法示例
// 安装(Node.js 环境)
npm install axios// 发送 GET 请求
axios.get('/api/users', {params: { id: 1 } // 查询参数
})
.then(response => {console.log(response.data);
})
.catch(error => {console.error('Error:', error);
});// 发送 POST 请求
axios.post('/api/create', {name: 'Alice',age: 25
}, {headers: { 'Content-Type': 'application/json' }
})
.then(response => console.log(response.data))
.catch(error => console.error(error));

4. 配置选项
配置项描述
baseURL请求的基础路径(全局或实例配置)。
timeout请求超时时间(毫秒)。
headers自定义请求头(如 Authorization)。
withCredentials是否允许跨域请求携带凭证(如 Cookie)。
paramsSerializer自定义参数序列化函数(如处理对象为 URL 参数)。
// 全局配置示例
axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.timeout = 5000;

5. 拦截器
  • 请求拦截器:在请求发送前修改配置:

    axios.interceptors.request.use(config => {// 添加 Tokenconfig.headers.Authorization = `Bearer ${localStorage.token}`;return config;
    }, error => Promise.reject(error));
    
  • 响应拦截器:在响应返回后处理数据或错误:

    axios.interceptors.response.use(response => {return response.data; // 简化后续 .then() 的数据获取
    }, error => {if (error.response.status === 401) {// 处理未授权错误(如跳转登录页)}return Promise.reject(error);
    });
    

6. 错误处理
  • 常见错误类型
    • error.response:包含状态码和响应数据(如 404、500)。
    • error.request:请求已发送但无响应。
    • error.message:其他错误信息(如网络问题)。
axios.get('/api/invalid')
.catch(error => {if (error.response) {console.log('Status:', error.response.status);console.log('Error Data:', error.response.data);} else {console.log('Request Failed:', error.message);}
});

7. 与 Fetch 的对比
特性AxiosFetch
Promise 支持原生支持原生支持
请求/响应拦截支持不支持
取消请求支持需通过 AbortController 实现
JSON 自动解析自动转换需调用 response.json()
浏览器兼容性兼容性好(需 polyfill 旧版浏览器)需 polyfill IE 等旧版浏览器

8. 常见场景
  • 跨域请求:通过 CORS 配置或代理解决(如在开发环境配置代理)。
  • 上传文件
    const file = document.querySelector('input[type="file"]').files[0];
    const formData = new FormData();
    formData.append('file', file);
    axios.post('/api/upload', formData, {headers: { 'Content-Type': 'multipart/form-data' }
    });
    

9. 最佳实践
  1. 避免全局配置污染:通过 axios.create() 创建实例,隔离不同环境配置。
  2. 统一错误处理:通过拦截器集中处理 Token 过期、网络错误等通用问题。
  3. 取消重复请求:在组件卸载时取消未完成的请求,避免内存泄漏。
  4. 合理设置超时:根据接口复杂度调整 timeout 防止阻塞。
// 创建实例示例
const apiClient = axios.create({baseURL: '/api',timeout: 10000
});
http://www.dtcms.com/wzjs/516472.html

相关文章:

  • 义乌建设网站优化关键词排名哪家好
  • 组建团队建设网站与开发需要多少钱公司网站建设服务
  • 做网站客服维护电话怎么打谷歌seo推广培训班
  • 用织梦做网站后面可以改吗百度竞价关键词价格查询
  • 集团网站建设多少钱阿里数据
  • 做网站收入太低谷歌搜索排名
  • 网站开发英文文献百度一下一下你就知道
  • 搞一个网站花多少钱童程童美少儿编程怎样收费
  • 网站建设要写代码吗sem推广计划
  • 网站开发与设计的实训报告torrentkitty搜索引擎
  • 公司网站后台怎么上传图片商丘seo外包
  • 网站建设与管理管理课程网站排名查询
  • 黄页88会员一年多少钱对seo的认识和理解
  • 模具公司网站中品质见证怎么做企业网络营销推广案例
  • 网站公司怎么做推广方案网站流量统计工具有哪些
  • 没有备案的网站 公司服务器 查到会怎么样公司网站建设全包
  • 网站开发准备流程百度入口
  • 淘客返利网站怎么做nba最新排名东西部
  • 长春火车站到龙嘉机场高铁时刻表seo的作用是什么
  • 网站制作先做数据库还是前台公司产品推广文案
  • 新加坡网站大全河北百度seo关键词
  • 装饰工程设计东莞网站建设超级seo工具
  • 佛山网站建设与设计公司seo综合查询系统
  • 西安高端网站建设哪家好百度引擎搜索入口
  • kuler 网站如何利用互联网进行宣传推广
  • html 动漫网站搜索引擎营销的优缺点及案例
  • 北京网站备案号查询优质友情链接
  • 洛阳网官网seo外链发布技巧
  • 规范门户网站的建设和管理办法怎么做产品推广和宣传
  • 国内4a广告公司有哪些seo整站优化更能准确获得客户