zoukankan      html  css  js  c++  java
  • vue的axios使用

    1.安装axios

    在项目目录下安装,命令:

    npm install --save axios vue-axios

    2.axios的配置

    方法1:在入口main.js中导入axios 并将axios写入vue的原型,这样就能更简单的使用

    import axios from 'axios'
    import VueAxios from 'vue-axios'

    Vue.use(VueAxios, axios)

    方法二:如果需配置全局axios访问的路由前缀,可以配置如下内容:

    1 import axios from 'axios'
    2 const ajax = axios.create({
    3   baseURL: 'http://127.0.0.1:8000'  // 配置请求路由前缀
    4 })
    5 Vue.config.productionTip = false
    6 // Vue.prototype.$ajax = ajax  两种定义都可以,使用时调用对应的变量
    7 Vue.prototype.axios = ajax

    3. axios.get()方法

    3.1 无参情况

    axios封装了get方法,传入请求地址和请求参数即可。 then中返回的是正常情况下的数据,而catch中返回的是错误信息。请求格式为: this.axios.get(url).then(res => {}).catch(err => {})

    import axios from 'axios'
    const ajax = axios.create({
      baseURL: 'http://127.0.0.1:8000'  // 配置请求路由前缀
    })
    Vue.config.productionTip = false
    // Vue.prototype.$ajax = ajax  两种定义都可以,使用时调用对应的变量
    Vue.prototype.axios = ajax

    响应数据形式:

    res.data.data : 就是我们后端自己返回的数据

     

    3.2 有参情况

    axios封装了get方法,get方法可以接收请求参数,请求参数定义在格式为: this.axios.get(url, { params }).then(res => {}).catch(err => {})

    <script>
    ​
    export default {
    ​
      mounted: function () {
        var url = 'http://127.0.0.1:8000/api/article/article/'
        var params = {   //要么定义为params 传参{params}, 使用其他变量名,传参需{params:其他名}
          is_delete: 1
        }
        // 传参数:只能解析params 
        //注意1:传递的参数定义为params时,this.axios.get(url,{params})
        //注意2: 传递的参数定义为searchData时,this.axios.get(url,{params:searData})
        this.axios.get(url, { params })
          .then(res => {
            console.log(res.data)
          })
          .catch(err => {
            alert(err)
          })
      }
    }
    </script>
    

      

    4. axios.post()方法

    axios封装了post方法,post方法可以接收请求参数,请求参数定义在格式为: this.axios.post(url, params).then(res => {}).catch(err => {})

    export default {
    ​
      mounted: function () {
        var url = 'http://127.0.0.1:8000/api/article/article/'
        var params = {
          title: '1213',
          desc: '321'
        }
        //post传参:参数params不需要{}
        this.axios.post(url, params)
          .then(res => {
            console.log(res.data)
          })
          .catch(err => {
            alert(err)
          })
      }
    }
    </script>

    5. axios经典写法

    axios的经典写法,post请求格式为: this.axios({method: 'post',url: url,data: params}).then(res => {}).catch(err => {})

    <script>
        export default {
        
          mounted: function () {
            var url = 'http://127.0.0.1:8000/api/article/article/'
            var params = {
              title: '121322',
              desc: '321'
            }
            this.axios({
              method: 'post',
              url: url,
              data: params
            }).then(res => {
              console.log('成功')
            }).catch(err => {
              console.log('失败')
            })
          }
        }
    </script>
  • 相关阅读:
    如何不传入对象就获得某对象的方法---ThreadLocal类
    Linux系统主目录被更改,怎么修改回去?
    tree命令的安装
    Linux命令学习man
    当重载函数的参数是Object和Object数组的时候会发生什么情况!!!
    Linux学习(二)之内核、系统调用、库
    使用puttygen转换OpenSSH SSH2私钥为RSA PEM格式
    docker-compose使用详解
    svn迁移到gitlab
    linux快速启动http端口
  • 原文地址:https://www.cnblogs.com/Deaseyy/p/10903253.html
Copyright © 2011-2022 走看看