首页 > 其他分享 >Axios-Vue

Axios-Vue

时间:2023-02-15 20:33:54浏览次数:54  
标签:qs axios http res Vue Axios api import

axios中文文档

安装

npm i axios

基本使用

引入

import axios from 'axios';

使用

// GET请求
axios({
    method:'get',
    url:'http://api/'
}).then(res=>{
    console.log(res);
})
//简
axios.get('url').then()
//POST请求
axios({
    method:'post',
    url:'http://api/',
    data:{
        user: 'muieay',
        pwd: '123',
        headers: { 'content-type': 'xxx' },
    }
}).then(res=>{
    console.log(res);
})
//简
axios.post('url',{} ).then()		

默认情况下,axios将 JavaScript 对象序列化为 JSON 。 需要对请求体编码进行处理

此处使用qs演示:

安装

npm i qs

引入

import qs from 'qs';

使用

//POST请求
axios({
    method:'post',
    url:'http://api/',
    //对请求体编码进行转换
    data:qs.stringify({
        user: 'muieay',
        pwd: '123',
        headers: { 'content-type': 'xxx' },
    })
}).then(res=>{
    console.log(res);
})

其他方法

封装请求

  1. 创建utils\request.js文件

    import axios from "axios"
    import qs from 'qs'
    
    const instance = axios.create({
    	baseURL: 'http://api', //通用后端请求地址前缀
    	timeout: 5000 //超时时间(毫秒)
    });
    
    // 添加请求拦截器
    
    // 数据获取之前
    instance.interceptors.request.use(
    	config => {
    		if (config.method === 'post') {
    			config.data = qs.stringify(config.data)
    		}
    		return config
    	},
    	error => {
    		return Promise.reject(error);
    	}
    );
    
    // 数据获取之后
    instance.interceptors.response.use(
    	response => {
    		return response;
    	},
    	error => {
    		return Promise.reject(error);
    	}
    );
    export default instance
    
  2. 规范API接口,创建api/index.js

    方式一

    import instance from '../utils/request.js'
    const http={
    	getMsg(){
    		return instance.get('/url')
    	}
    }
    export default http
    

    使用:

    import http from '../api/index'
    
    http.getMsg().then(res=>{
        console.log(res);
    })
    

    方式二

    import instance from '../utils/request.js'
    
    export const getData=()=>{
        // 返回promise对象
        return instance.get('/URL')
    }
    

    使用:

    import {getData} from '../api/index'
     
    getData().then(res=>{
    	console.log(res);
    })
    

其他

vue-cli项目前端跨域配置

配置vue.config.js

// vue.config.js
module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'https://www.xxx.cn', //对应服务器地址(我要跨域请求的地址)
        changeOrigin: true, //允许跨域
        ws: true,
        pathRewrite: {
          '^/api': ''	//例如跨域https://www.xxx.cn/get网址,使用就直接写/api/get
        }
      }
    }
  }
}
//简
module.exports = {
  devServer: {
    proxy: 'https://www.xxx.cn'	//这里写你要跨域请求数据的网址
  },
}

params选项传参

用axios自带的params选项传参

axios.get('http://xxx', {
    params: {
        id: 5678,
        info: 'data within params'
    }
}).then()

标签:qs,axios,http,res,Vue,Axios,api,import
From: https://www.cnblogs.com/Muieay/p/17124547.html

相关文章

  • vue基本操作
    1js的几种循环方式1.1v-for可以循环的变量<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="./js/vu......
  • Vue的基础操作
    目录Vue的基础操作js的几种循环方式v-for可以循环的变量js的循环方式key值的解释数组,对象的检测与更新input事件v-model双向数据绑定过滤事件事件修饰符(了解)按键修饰符单......
  • vue
    今日内容1.js的几种循环方式2.key值的解释3.数组、对象的检测与更新4.input事件5.v-model双向数据绑定6.过滤案例7.事件修饰符(了解)8.按键修饰符9.表单控制1.js......
  • vue二
    目录一,js循环方式测试1.循环数组2.循环数组带索引3.循环对象默认取value4.循环对象带key和value5.循环字符串6.循环数字循环方式1.js的循环2.js的in循环3.es6语法4.数组循......
  • VUE初识
    目录插值语法文本指令属性指令事件指令class和style条件渲染列表渲染v-for可以循环的变量js的循环方式key值的解释数字,对象的检测与更新input事件v-model双向数据绑定过滤......
  • vue3数据类型ref,Reactive,shallowRef,shallowReactive基本用法
    1.ref用于创建基础类型的响应式,也可以创建引用类型的响应式.2.ref对于引用类型,底层也是转换为reactive来进行响应式处理3.ref创建的响应式数据在脚本中需要通过.......
  • python70 前端框架之vue js的集中循环方式、key值的解释、input事件、v-model双向数
    js的几种循环方式v-for可以循环的变量可以循环的:数组、数组带索引对象、对象带key、value字符串字符串带索引数字、数字带索引<!DOCTYPEhtml......
  • vue2组件懒加载(Vue Lazy Component )
    1.介绍:是vue组件懒加载的预估插件组件。支持组件组件延时加载,加载真实组件前展示骨架组件,提高用户体验,真实组件代码分包异步加载//安装npminstall@xunlei/vue-laz......
  • vue 数组对象深拷贝 并根据某项属性排序
    vue数组对象深拷贝并根据某项属性  serialNumber  排序原始数据navListData:[{name:'企业速览',isHot:false,is......
  • vue中element-ui配置一二级导航动态渲染并跳转
    这次的导航效果,包括二级导航,请认真食用~先看下效果图吧具体的步骤如下1.安装element-uinpminstallelement-ui--save或cnpminstallelement-ui--save2.需要准......