广告
返回顶部
首页 > 资讯 > 精选 >vue怎么封装Axios的get、post请求
  • 932
分享到

vue怎么封装Axios的get、post请求

2023-06-30 17:06:21 932人浏览 薄情痞子
摘要

这篇“Vue怎么封装AxiOS的get、post请求”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么封装Axios的

这篇“Vue怎么封装AxiOS的get、post请求”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么封装Axios的get、post请求”文章吧。

封装Axios的get、post请求

Axios在vue项目中用的较多,每次都要写一遍很是不方便,尤其其中的config配置项是公用的,完全可以封装一下,这样下次再用就可以直接CV了!毕竟CV大法香啊!

1.封装Axios基础配置

创建一个request.js 文件,内容如下,我把解释性文字放在注释里了。

import axios from 'axios'export function request(config) {  // 1.创建axios的实例  const instance = axios.create({    // 设置基础的url配置项,这样接口处的url前面就不用写url:'Http://127.0.0.1:8000/api/home',直接写成 url:'/api/home', 就可以了    baseURL: 'http://127.0.0.1:8000/',     //设置请求超时时间    timeout: 5000   })  // 2.axios的拦截器,用不到的可以忽略这节  // 2.1.请求拦截的作用  instance.interceptors.request.use(config => {    return config  }, err => {    console.log('请求拦截err: '+err);  })  // 2.2.响应拦截  instance.interceptors.response.use(res => {    return res.data  }, err => {        console.log('响应拦截err: '+err);  })  // 3.发送真正的网络请求  return instance(config)}

2.封装网络请求

我们可以将相关的网络请求都放在一个js中,这样再使用和修改的时候就方便查找了。其中get请求比较简单,post 的请求根据传对象输类型不同,要做不同设置。

现在来说说post请求常见的数据格式(content-type)

Content-Type: application/json : 请求体中的数据会以JSON字符串的形式发送到后端,这种是axios默认的请求数据类型,我们只需将参数序列化json字符串进行传递即可,无需多余的配置。

Content-Type: application/x-www-form-urlencoded:请求体中的数据会以普通表单形式(键值对)发送到后端

Content-Type: multipart/form-data: 它会将请求体的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。

创建一个network.js 文件,内容如下:

// 导入封装好的Axiosimport {request} from './request' //注意request.js的相对路径问题//1. get请求---获取首页的多个数据export function getHomeMultidata() {  return request({    url:'/api/home',    method:'get',    // 可以带参数也可以不带参数    // params: {    //     userName: 'Lan',    //     passWord: '123'    // }  })}// 2.1 post请求---传输json数据时,获取电视剧多个数据export function getTvshowMultidata() {  return request({    url:'/api/Tvshow',     headers: {      'Content-Type': 'application/json'    },    method:'post',    data: {        userName: 'Lan',        password: '123'     }  })}//2.2 post请求---传输文件流,表单FORM Data 数据时export function getMovieMultidata() {  return request({    url:'/api/Movie',    headers: {    'Content-Type': 'multipart/form-data';    },    method:'post',    data: {        userName: 'Lan',        password: '123'     }  })}

3.vue中使用

在script 标签中按需导入network.js 中需要使用的方法

import {getHomeMultidata} from "network/home/network"; //导入js,路径自己根据文件位置设置

在方法中按照promise的格式调用函数即可 

created() {      // 在方法中调用函数即可        getHomeMultidata().then(          res => {          // 此处res 为返回的数据,将返回的数据进行处理显示            this.banners = res.homedata.slice(0,5)            this.newestData = res.homedata.slice(5,12)                    ).catch(          err => {            console.log(err)          }        );    },

network中的其他网络请求方法使用方法同上。

vue axios两种方法(封装和不封装)get请求和post请求

一.没有封装的用法

首先在项目中下载axios

npm install axios -s //此方法会将axios下载到package.json中的"dependencies"模块中,大家可以自行查看

因为没有封装所以需要在单个vue组件中的编写js的地方进行引用axios;语法如下

<script>import axios from  ' axios'</script>

然后在生命周期函数中进行调用数据

export default{ created() {       //get请求        axios.get("url", {       params: { //此处为get请求传递的参数 但是一把get请求是没有参数的 params是固定的          password: "123456",         userName: "320621200305185129",        },      })            .then(function (response) {       console.log(response, 666666);     })     .catch(function (error) {        console.log(error, 44444);      });        },} //post请求axios.post('url', {//此处是参数    firstName: 'Fred',    lastName: 'Flintstone'  })  .then(function (response) {    console.log(response);  })  .catch(function (error) {    console.log(error);  });

每个项目的的接口都是不一样的,很多时候代码都不是唯一性的,要灵活的运用

二.封中之后的用法

首先一个目录utils,在该目录下创建request.js 在里面编写

import axios from 'axios'  export function request(config) {  // 1.创建axios的实例  const instance = axios.create({    // 设置基础的url配置项,这样接口处的url前面就不用写了     baseURL: 'http://192.168.0.112:9518/', 基础代码    //设置请求超时时间    timeout: 5000   })   // 2.axios的拦截器,用不到的可以忽略这节  // 2.1.请求拦截的作用  instance.interceptors.request.use(config => {    return config  }, err => {    console.log('请求拦截err: '+err);  })   // 2.2.响应拦截  instance.interceptors.response.use(res => {    return res.data  }, err => {        console.log('响应拦截err: '+err);  })   // 3.发送真正的网络请求  return instance(config)}

然后在目录下创建api在此处创建index.js  在此处引用上方创建axios实例

import {request} from '../utils/request' //get请求 export function denglu() {  return request({    url: 'login',    method: 'get',    params:{ //此处为传递的参数 //get请求一般是不传递参数的        password:'123456',        uerName:'5555555555'    }    // header: { // 已经在request.js里面进行全局设置,也可以在请求里面局部设置其他headers    //    'Content-Type': 'text/plain'    // }  })} //post请求export function denglu() {  return request({    url: 'login',    method: 'post',    data:{ //此处为传递的参数        password:'123456',        uerName:'5555555555'    }    // header: { // 已经在request.js里面进行全局设置,也可以在请求里面局部设置其他headers    //    'Content-Type': 'text/plain'    // }  })}

然后需要在vue组件的中 在编写js的地方引入index.js

<script>import denglu from  "../api/index"</script>

之后就可以在vue组件方法中进行应用了,下面是我在vue组件中根据上面的代码进行应用的实例 

vue怎么封装Axios的get、post请求

vue怎么封装Axios的get、post请求

vue怎么封装Axios的get、post请求

以上就是关于“vue怎么封装Axios的get、post请求”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: vue怎么封装Axios的get、post请求

本文链接: https://www.lsjlt.com/news/330650.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue怎么封装Axios的get、post请求
    这篇“vue怎么封装Axios的get、post请求”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么封装Axios的...
    99+
    2023-06-30
  • vue如何封装Axios的get、post请求
    目录封装Axios的get、post请求1.封装Axios基础配置2.封装网络请求3.vue中使用vue axios两种方法(封装和不封装)get请求和post请求没有封装的用法封中...
    99+
    2022-11-13
  • vue3实战-axios请求封装问题(get、post、put、delete)
    目录vue3实战axios请求封装问题vue3 axios简易封装教程总结vue3实战axios请求封装问题 1、在src目录下创建http文件夹,在http文件夹下分别创建inde...
    99+
    2023-03-19
    vue3 axios请求封装 vue3 axios vue3 axios请求封装问题
  • vue下axios怎么封装get和post方法
    这篇文章主要介绍了vue下axios怎么封装get和post方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue下axios怎么封装get和post方法文章都会有所收获,下面我们一起来看看吧。vue 2.x...
    99+
    2023-07-04
  • vue中怎么封装axios请求
    这篇文章将为大家详细讲解有关vue中怎么封装axios请求,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。axiosAxios 是一个基于 promise 的...
    99+
    2022-10-19
  • 怎么用vue封装axios请求
    这篇文章将为大家详细讲解有关怎么用vue封装axios请求,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。其实vue封装axios是很简单的首先 在src路径下建http文件夹 并且创建api.js env...
    99+
    2023-06-15
  • axios gin的GET和POST请求怎么实现
    今天小编给大家分享一下axios gin的GET和POST请求怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-30
  • java中httpclient封装post请求和get的请求实例
    目录httpclient封装post请求和get的请求httpclient的post和get请求所用的代码HttpClient发送Get、Post请求的实践1. 配置及实例化Http...
    99+
    2022-11-12
  • vue如何封装axios请求
    这篇文章主要介绍“vue如何封装axios请求”,在日常操作中,相信很多人在vue如何封装axios请求问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue如何封装axios请求”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • vue集成axios封装请求
    Vue 组件化的开发方式让我们的前端开发变得更加灵活、高效,而在这个过程中,与后端进行数据交互是不可避免的。而 Axios 是一个很好的数据请求框架,它提供了方便的API接口,使用简单、可靠、易于扩展等优点,于是我们选择把它集成到Vue项目...
    99+
    2023-05-24
  • 如何用vue封装axios请求
    其实vue封装axios是很简单的 首先 在src路径下建http文件夹 并且创建api.js env.js request.js 这三个文件 env.js文件 这个文件主要就是封...
    99+
    2022-11-12
  • vue项目中axios的封装请求
    目录一、简介二、封装后1.封装步骤2.封装目标3. 使用新的 axios 封装API4.使用封装后的axios一、简介 axios 是一个轻量的HTTP客户端,它基于 XMLHttp...
    99+
    2022-11-13
  • vue 2.x中axios如何封装get和post方法
    这篇文章主要介绍vue 2.x中axios如何封装get和post方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue 2.x axios 封装的get 和post方法impor...
    99+
    2022-10-19
  • axios gin的GET和POST请求实现示例
    目录axios-GET请求Gin-GET响应Vue-POST请求Gin-POST响应axios-GET请求 created() { console.log('...
    99+
    2022-11-13
  • Vue怎么为GET或POST请求设置请求头
    这篇文章主要介绍了Vue怎么为GET或POST请求设置请求头的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue怎么为GET或POST请求设置请求头文章都会有所收获,下面我们一起来看看吧。为GET或POST请求...
    99+
    2023-06-29
  • vue封装axios请求的方法是什么
    本文小编为大家详细介绍“vue封装axios请求的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue封装axios请求的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。其实vue封装axio...
    99+
    2023-07-04
  • vue中如何使用axios数据请求get、post方法
    小编给大家分享一下vue中如何使用axios数据请求get、post方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!vue中使用axios方法我们先安装axios这个方法npm inst...
    99+
    2022-10-19
  • PHPcurlgetpost请求的封装函数示例【get、post、put、delete等请求类型】
    一、get //get请求 function getUrl($url, $header = []) { $ch = curl_init(); curl_setopt(...
    99+
    2023-05-16
    php curl post 封装 get post put delete
  • vue axios中的get请求方式
    目录vue axios中的get请求一、安装二、使用常见错误vue axios post请求参数错误400vue axios中的get请求 一、安装 使用 npm:npm insta...
    99+
    2022-11-13
  • vue中数据请求axios怎么封装和使用
    这篇文章主要介绍了vue中数据请求axios怎么封装和使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中数据请求axios怎么封装和使用文章都会有所收获,下面我们一起来看看吧。一、什么是axios&nb...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作