美文网首页web前端
axios 使用总结

axios 使用总结

作者: channel_puls | 来源:发表于2019-11-06 11:18 被阅读0次

    axios 认识

    axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,本质上也是对原生XHR的封装。

    axios是Promise的实现版本,符合最新的ES规范,它本身具有以下特征:

    1.从浏览器中创建 XMLHttpRequest

    2.支持 Promise API

    3.客户端支持防止CSRF

    4.提供了一些并发请求的接口(重要,方便了很多的操作)

    5.从 node.js 创建 http 请求

    6.拦截请求和响应

    7.转换请求和响应数据

    8.取消请求

    9.自动转换JSON数据

    基本配置(创建时)

    let axios = axios.create({

    baseURL: 'http://localhost:9000/api',//设置基本请求地址

    timeout: 1000 //超时时间})

    效果和上面一致

    axios.defaults.timeout = 1000;

    axios.defaults.baseURL = 'http://localhost:9000/api';

    请求方法 以及与express 对应取值方法

    以下假设添加baseURL =http://localhost:3000

     get 请求

    前端 axios.get('/admin/123')  

    后端 app.get('/admin/:id',(req,res)=>{const id =req.params.id})

    前端 axios.get('/admin?id=123')

    后端 app.get('/admin',(req,res)=>{const id =req.query.id})

    前端 axios.get('/admin',{params:{id:123}})  

    后端 app.get('/admin',(req,res)=>{const id =req.query.id})

     post 请求

    前端 axios.post('/admin',{id:123})  

    后端 app.get('/admin/:id',(req,res)=>{const id =req.body.id})

     put请求(修改数据) 与get 请求一致 后端对应  app.put

     delete 请求(删除数据)与get 请求一致  后端对应  app.delete

    拦截器

    拦截器:在请求或响应被处理前拦截它们。分为请求拦截器、响应拦截器

    请求拦截器:

    axios.interceptors.request.use(config=>{

    //在发送请求前做些什么 config 可以设置之前初始化的操作

    //config.headers.token = '', //需要登录拦截的请求

    return config

    }, err=>{

    //在请求错误的时候做些什么

    return Promise.reject(err)})

    响应拦截器

    axios.interceptors.response.use(res=>{

    //请求成功对响应数据做处理

    //例如 只要求拿到结果

    return res.data

    }, err=>{

    return Promise.reject(err)})

    相关文章

      网友评论

        本文标题:axios 使用总结

        本文链接:https://www.haomeiwen.com/subject/eefubctx.html