vue使用axios 发送post请求的四种方法,vue axios post

  vue使用axios 发送post请求的四种方法,vue axios post

  本文主要介绍vue如何封装Axios的get和post请求,有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

  

目录

  封装Axios 1的get和post请求。封装了Axios 2的基本配置。封装网络请求3。get请求和post请求封装后在vue中使用vue axios的两种方法(封装和非封装)用法

  

封装Axios的get、post请求

  Axios在vue项目中应用广泛,每次写一次不方便。尤其是config配置项是公共的,可以完整封装,这样下次就可以直接CV了!毕竟CV大法香啊!

  

1.封装Axios基础配置

  用以下内容创建一个request.js文件。我在评论里放了说明文字。

  从“axios”导入axios

  导出功能请求(配置){

  //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/,

  //设置请求超时

  超时:5000

  })

  //2.axios拦截器,不用的话可以忽略这一段。

  //2.1.请求拦截的作用

  instance . interceptors . request . use(config={

  返回配置

  },错误={

  Console.log(请求拦截err: err );

  })

  //2.2.应对拦截

  instance . interceptors . response . use(RES={

  返回结果数据

  },错误={

  Console.log(响应拦截错误: err );

  })

  //3.发送一个真实的网络请求

  返回实例(配置)

  }

  

2.封装网络请求

  我们可以把所有相关的网络请求放在一个js里,这样在使用和修改的时候很容易找到。get请求相对简单,post请求需要根据要传输的对象类型进行不同的设置。

  现在我们来谈谈post请求的常见数据格式(内容类型)。

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

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

  Content-Type: multipart/form-data:将请求体的数据处理成消息,以标签为单位,用分隔符隔开。您可以上传键值对和文件。

  使用以下内容创建一个network.js文件:

  //导入打包的Axios

  从导入{request}。/request //注意request.js的相对路径问题

  //1.获取请求-获取首页的多个数据。

  导出函数getHomeMultidata() {

  退货请求({

  URL:“/API/home”,

  方法:“get”,

  //它可以有参数,也可以没有参数

  //params: {

  //用户名: Lan ,

  //密码:“123”

  //}

  })

  }

  //2.1 post请求——传输json数据时,获取电视剧的多个数据。

  导出函数getTvshowMultidata() {

  退货请求({

  URL:“/API/TV show”,

  标题:{

  “内容类型”:“应用程序/json”

  },

  方法: post ,

  数据:{

  用户名:“局域网”,

  密码:“123”

  }

  })

  }

  //2.2 post请求-传输文件流和表格形式数据时

  导出函数getMovieMultidata() {

  退货请求({

  URL:“/API/电影”,

  标题:{

  “content-Type”:“multipart/form-data”;

  },

  方法: post ,

  数据:{

  用户名:“局域网”,

  密码:“123”

  }

  })

  }

  

3.vue中使用

  在脚本标记中按需导入要在network.js中使用的方法。

  从“网络/家庭/网络”导入{ getHomeMultidata };//导入js,路径根据文件位置自行设置

  根据promise的格式调用方法中的函数。

  已创建(){

  //只调用方法中的函数。

  getHomeMultidata()。然后(

  res={

  //这里res是返回的数据,返回的数据会被处理和显示。

  this . banners=RES . home data . slice(0,5)

  this . newest data=RES . home data . slice(5,12)

  ).接住(

  错误={

  console.log(错误)

  }

  );

  },

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

  

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

  

没有封装的用法

  1.首先在项目中下载axios。

  m install axios-s//该方法会将axios下载到package.json中的‘dependencies’模块,可以自己检查。

  2.因为没有封装,所以需要参考axios在单个vue组件中写js的地方;语法如下

  脚本

  从“axios”导入axios

  /脚本

  3.然后调用生命周期函数中的数据。

  导出默认值{

  已创建(){

  //获取请求

  axios.get(url ,{

  Params: {//为get请求传递了参数,但get请求没有参数。参数已修复。

  密码:“123456”,

  用户名:“320621200305185129”,

  },

  })。然后(函数(响应){

  console.log(响应,666666);

  })。catch(函数(错误){

  console.log(错误,44444);

  });

  },

  }

  //发布请求

  axios.post(url ,{

  //以下是参数

  名字:“弗雷德”,

  姓氏:“燧石族”

  })。然后(函数(响应){

  console.log(响应);

  })。catch(函数(错误){

  console.log(错误);

  });

  每个项目的界面都不一样。在很多情况下,代码不是唯一的,所以应该灵活使用。

  

封中之后的用法

  首先是一个目录utils,request.js就是在其中创建和编写的。

  从“axios”导入axios

  导出功能请求(配置){

  //1.创建axios的实例

  const instance=axios.create({

  //设置基本的url配置项,这样界面处的url就不用写在前面了。

  基本URL:“http://192 . 168 . 0 . 112:9518/”,基本代码

  //设置请求超时

  超时:5000

  })

  //2.axios拦截器,不用的话可以忽略这一段。

  //2.1.请求拦截的作用

  instance . interceptors . request . use(config={

  返回配置

  },错误={

  Console.log(请求拦截err: err );

  })

  //2.2.应对拦截

  instance . interceptors . response . use(RES={

  返回结果数据

  },错误={

  Console.log(响应拦截错误: err );

  })

  //3.发送一个真实的网络请求

  返回实例(配置)

  }

  然后在目录下创建api,在这里创建index.js,在这里的引用上面创建axios实例。

  从导入{请求}./utils/请求

  //获取请求

  导出函数邓璐(){

  退货请求({

  url:“登录”,

  方法:“get”,

  Params:{ //下面是传递的参数。//一般get请求不传递参数。

  密码:“123456”,

  用户名:“5555555555”

  }

  //header: {//已经在request.js中全局设置,也可以在请求中局部设置其他头。

  //Content-Type: text/plain

  //}

  })

  }

  //发布请求

  导出函数邓璐(){

  退货请求({

  url:“登录”,

  方法: post ,

  Data:{ //下面是传递的参数

  密码:“123456”,

  用户名:“5555555555”

  }

  //header: {//已经在request.js中全局设置,也可以在请求中局部设置其他头。

  //Content-Type: text/plain

  //}

  })

  }

  然后你需要在写js的vue组件中引入index.js。

  脚本

  从导入邓璐./api/index

  /脚本

  之后就可以在vue组件法中应用了。下面是我根据上面的代码在vue组件中应用的一个例子。

  以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: