• vue.js使用axios


    使用axios的两种调用方式

    1.安装axios

    $ cnpm install axios

    2.在vue入口文件main.js中引入(推荐全局引入),或是在当前页面中引入(局部)

    import axios from 'axios';

    方法一:

    在页面中直接调用,代码如下:

    new Vue({
      el: '#app',
      data () {
        return {
          info: null
        }
      },
      mounted () {
        axios
          .get('https://api.coindesk.com/v1/bpi/currentprice.json')
          .then(response => (this.info = response))
          .catch(error => console.log(error))
    } })

    方法二:

    如果我们的页面经常需要请求接口获取数据,而且逻辑代码比较多的话,不妨将axios提取出来,封装到一个api的文件中,然后在页面中引入直接调用,这样看起来页面会简洁很多

    接口全部放到api文件中方便管理,API文件代码如下:

    api/index.js

    import _axios from 'axios'
    
    /**
     * 配置axios的新实例
     */
    const axios = _axios.create({
        baseURL: '',
        timeout: 1000
    })
    
    /**
     * 错误、警告提示
     */
    axios.interceptors.response.use(function (response) {
      const { data } = response
      if (data.code !== 0) {
        Vue.prototype.$snack.error({
          message: data.message
        })
        return Promise.reject(data)
      } else {
        return data.data
      }
    }, function (error) {
      Vue.prototype.$snack.error({
        message: error.message
      })
      return Promise.reject(error)
    })
    
    export const userApi = {
      //获取用户列表
      getUserList (params) {
        return axios({
          url:  '/api/user/users',
          method: 'get',
          params
        })
      },
    //删除用户 deleteUser (id) { return axios({ url: '/api/user/user', method: 'delete', params: { id } }) } }

    页面引入

    user/index.vue

    import {userApi} from '../../api'
    
    export default {
      data:(){
          return {
              userList:[],
              offset: 0,
              pageSize: 10
            }  
        },
         methods: {
            //获取用户列表
            async getUserList(){
                const params = {
                    offset: this.offset,
                    pageSize: this.pageSize
                }
              this.userList = await userApi.getUserList(params)
          }
        },
      。
      。
      。
      。 }

    还不清楚的可以看下官方文档 https://cn.vuejs.org/v2/cookbook/using-axios-to-consume-apis.html

  • 相关阅读:
    看《环太平洋》归来
    在Fedora8上安装MySQL5.0.45的过程
    在Win7上安装MySql5.2遇到Write configuration file的解决
    每一个问题都是一把锁
    Fedora8上Apache Httpd与Tomcat6初集成
    在Fedora8上的Tomcat上deploy一个war
    在Fedora8上配置Tomcat6.0.37
    在Fedora8上配置Apache Httpd
    在Fedora8上安装jdk-7u25-linux-i586.rpm的步骤
    Java继承中的几道面试题
  • 原文地址:https://www.cnblogs.com/minjh/p/10062712.html
Copyright © 2020-2023  润新知