zoukankan      html  css  js  c++  java
  • 怎样在vue项目中使用axios处理接口请求

    vue项目中使用axios处理后端接口请求,参考摘录自axios官方文档

    1、axios插件包安装

    npm install axios --save
    

    2、在main.js中全局引入axios

    因为axios不是为了vue写的插件(插件内要处理)不支持vue.use()加载方式,为方便使用,可以将其挂载在vue原型上;全局使用this.$axios

    import axios from 'axios'
    Vue.prototype.$axios = axios
    

    3、axios基本使用方法,axios请求返回的是一个promise对象

    let api = 'http://'
    this.$axios.post(api, {userId: '57393746696202243'}).then((response) => {
        console.log(response)
    })
    

    4、也可以通过向 axios 传递相关配置来创建请求

    let curBaseURL = 'http://'
    let sUrl = 'api/login'
    this.$axios({
            method: 'post',  // 请求方法-post/get(default)...
            url: sUrl,
            // `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
            baseURL: curBaseURL,
            // `headers` 是即将被发送的自定义请求头
            headers: {
              'W-SEQ': 'default'
            },
            // `params` 是即将与请求一起发送的 URL 参数
            // 必须是一个无格式对象(plain object)或 URLSearchParams 对象
            params: {
              // ID: 12345
            },
            // 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
            // 在没有设置 `transformRequest` 时,必须是以下类型之一:
            // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
            // - 浏览器专属:FormData, File, Blob
            // - Node 专属: Stream
            data:{
              userId: '57393746696202243'
            },
            // `timeout` 指定请求超时的毫秒数(0 表示无超时时间)
            // 如果请求话费了超过 `timeout` 的时间,请求将被中断
            // timeout: 1000,
            // `auth` 表示应该使用 HTTP 基础验证,并提供凭据
            // 这将设置一个 `Authorization` 头,覆写掉现有的任意使用 `headers` 设置的自定义 `Authorization`头
            auth: {
              username: 'test',
              password: '1111'
            },
          })
    

    5、总结

    一般我们在项目中使用,都会提前封装好axios请求的一些常用方法和属性,api接口也会统一管理,在下一篇中再详细记录——关于axios请求和api接口的统一管理

  • 相关阅读:
    router基本使用
    函数声明 和 var声明的优先级
    适用于Windows桌面应用程序的.NET Core 3
    在.Net Core 3.0中尝试新的System.Text.Json API
    在WPF中使用.NET Core 3.0依赖项注入和服务提供程序
    WPF控件获得焦点时去除虚线框
    Call asynchronous method in constructor
    将自定义控件加载到RichTextbox并进行交互
    WPF应用无法使用Snoop分析的解决办法
    关于序列化和反序列化
  • 原文地址:https://www.cnblogs.com/layaling/p/14155995.html
Copyright © 2011-2022 走看看