Vue中axios的使用技巧配置项详解

使用axios首先要下载axios模块包

npm install axios --save

其次需要在使用的文件中引入

import axios from ‘axios‘

一、调用axios常见两种方法(此处使用easy-mock模拟数据接口):

//方法1
      axios({
        method: ‘post‘,
        url:‘http://easy-mock.com/mock/596077559adc231f357bcdfb/axios/test-post-axios‘
      })
      .then((response)=>{
          console.log(response.data)
      })
      .catch((error)=>{
          console.log(error)
      })
//方法2
    axios.post(‘http://easy-mock.com/mock/596077559adc231f357bcdfb/axios/test-post-axios‘,{
      miaov:"课堂"  //发送的数据
    })
      .then((response)=>{
        console.log(response.data)
      })
      .catch((error)=>{
        console.log(error)
      })

注意:

方法一中向后台发送数据时:

//get方式发送数据
            axios.get(‘https://easy-mock.com/mock/5a883cccbf160328124e8204/example/mock‘, {
                params: {
                    pomelo: ‘tt‘,
                    test: ‘test‘
                }
            }).then((response) => {
                console.log(response)
            }).catch((error) => {
                console.log(error)
            })
//post方式发送数据
           axios.post(‘https://easy-mock.com/mock/5a883cccbf160328124e8204/example/mock‘, {
                pomelo: ‘tt‘,
                test: ‘test‘
            }).then((response) => {
                console.log(response)
            }).catch((error) => {
                console.log(error)
            })

二、自定义请求实例

//常见请求实例配置项
{
     baseURL: ‘’,  //基础URL
     timeout:1000,  //请求延时时间
     headers {‘X-Requested-With‘: ‘XMLHttpRequest‘},   //自定义请求头内容
     responseType: ‘json‘,  //请求数据类型包括  ‘arraybuffer‘, ‘blob‘, ‘document‘, ‘json‘, ‘text‘, ‘stream‘
     params: {},  //无论请求为何种类型,在params中的属性都会以key=value的格式在urlzhong拼接
     transformRequest: [function(data){
         return data
     }],   // 只适用于 POST,PUT,PATCH,transformRequest` 允许在向服务器发送前,修改请求数据。后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 Stream
     transformResponse: [function(data){
         return data
     }],   //transformResponse` 在传递给 then/catch 前,允许修改响应数据
     validateStatus: function(status){       return status < 400 //状态码小于400时均为成功(返回true)     }, //validateStatus` 定义对于给定的HTTP 响应状态码是 resolve 或 reject  promise 。如果 `validateStatus` 返回 `true` (或者设置为 `null` 或 `undefined`),promise 将被 resolve; 否则,promise 将被 rejecte
     cancelToken  //取消请求,下文详细说明
}

使用自定义请求实例时需要先创建对象

var HTTP = axios.create({})   // {}中放入上文中的配置项

使用transformRequest将数据格式改为key=value的格式

import queryString from ‘queryString‘  //转换格式包,无需下载

  var HTTP = axios.create({
    baseURL:‘http://easy-mock.com/mock/596077559adc231f357bcdfb/axios/‘,
    timeout: 1000,
    responseType:‘json‘,
    headers:{
      ‘custome-header‘: ‘miaov‘,
      ‘content-type‘:‘application/x-www-form-urlencoded‘   //转换为key=value的格式必须增加content-type
    },
    transformRequest:[function(data){
        console.log(data)
      data.age = 30;  //发送之前增加的属性
      return queryString.stringify(data);    //利用对应方法转换格式
    }]
  })

原文地址:https://www.cnblogs.com/pomelott/p/8453262.html

时间: 2024-10-02 09:34:45

Vue中axios的使用技巧配置项详解的相关文章

vue中 localStorage的使用方法(详解)

vue中实现本地储存的方法:localStorage,在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同. (1).储存数据 localStorage.setItem('accessToken', 'Bearer ' + response.data.res

Vue中ESlint配置文件eslintrc.js文件详解

最近在跟着视频敲项目时,代码提示出现很多奇奇怪怪的错误提示,百度了一下是eslintrc.js文件没有配置相关命令,ESlint的语法检测真的令人抓狂,现在总结一下这些命令的解释,方便以后查阅. 默认eslint规则: 代码末尾不能加分号 ;(强迫症的我受不了)代码中不能存在多行空行:(这个我更也忍不了)tab键不能使用,必须换成两个空格:(超级不习惯)代码中不能存在声明了但未使用的变量:(这个我觉得可以有) 最简单的方法,关闭eslint检测,其实很简单,把 build/webpack.bas

vue中$refs的用法及作用详解

一般来讲,获取DOM元素,需要使用document.querySelector('#input1')方法去获取dom节点,然后再获取input1的值. 但是使用了ref绑定之后,我们就不需要再获取dom节点了,可以直接在上面的input上绑定input1,然后$refs里面调用就行. 然后在JavaScript里面通过this.$refs.input1去调用就行了. 这样可以有效减少获取dom节点的性能消耗. HTML <div id="app"> <input ty

聊聊 Vue 中 axios 的封装

聊聊 Vue 中 axios 的封装 axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 作为一个优秀的 HTTP 库,axios 打败了曾经由 Vue 官方团队维护的 vue-resource,获得了 Vue 作者尤小右的大力推荐,成为了 Vue 项目中 HTTP 库的最佳选择. 虽然,axios 是个优秀的 HTTP 库,但是,直接在项目中使用并不是那

vue中axios的基本配置

vue中axios的基本配置 1.配置默认地址 axios.defaults.baseURL = ""; 2.发送数据详解 axios 使用 post 发送数据时,默认是直接把 json 放到请求体中提交到后端的.也就是说,我们的 Content-Type 变成了 application/json;charset=utf-8 ,这是axios默认的请求头content-type类型.但是实际我们后端要求的 'Content-Type': 'application/x-www-form-

jQuery Mobile的默认配置项详解,jQuery Mobile的中文配置api,jQuery Mobile的配置说明,配置大全

学习jQuery Mobile也有一段时间了,越来越上手了,也越来越喜欢他了.我根本就没有理由拒绝他的好.这里我有分享一下我对它的配置项的使用说明一下. 看代码解释: $(document).live("pageinit",function(event){ $.mobile.loadingMessage = "正在加载数据,请稍候......"; $.mobile.pageLoadErrorMessage="很抱歉,系统好像再打小瞌睡......"

Storm配置项详解

什么是Storm? Storm是twitter开源的一套实时数据处理框架,基于该框架你可以通过简单的编程来实现对数据流的实时处理变换. Storm的配置文件一般存放在$STORM_HOME/conf下,通常名为storm.yaml,它符合yaml格式要求. 配置项详解: 以下是从storm的backtype.storm.Config类中搜集的所有storm支持的配置项(Based storm 0.6.0): 配置项 配置说明 storm.zookeeper.servers ZooKeeper服务

VC中预处理指令与宏定义详解

刚接触到MFC编程的人往往会被MFC 向导生成的各种宏定义和预处理指令所吓倒,但是预处理和宏定义又是C语言的一个强大工具.使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能. 一个经典的例子 使用预处理与宏定义最经典的例子莫过于加在一个头文件中以避免头文件被两次编译.试想这种的情况,有一个文件headerfile.h 它被包含在headerfile1.h中,同时在headerfile2.h 中也被包含了,现在有一个CPP文件,implement.cpp 包含了headerfi

JavaScript中SetInterval与setTimeout的用法详解

在写H5游戏时经常需要使用定时刷新页面实现动画效果,比较常用即setTimeout()以及setInterval(),但是大家对SetInterval与setTimeout的用法了解吗,下面通过本文给大家详解js中SetInterval与setTimeout的用法,需要的朋友参考下 setTimeout 描述 setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 注:调用过程中,可以使用clearTimeout(id_of_