当前位置:   article > 正文

vue2中使用axios_vue2使用axios

vue2使用axios

1、axios:是一个基于Promise的网络请求库。既可以在node.js(服务器端)使用,也可以在浏览器端使用

(1)在node.js中使用的原生的http模块

(2)在浏览器中使用的XMLHttpRequest

2、vue中的使用方法

(1)安装:npm install axios

(2)引用方法:

        1️⃣原生的方式(不推荐使用)

  1. axios({
  2. url:'http://127.0.0.1:9001/students/test', //远程服务器的url
  3. method:'get', //请求方式
  4. }).then(res=>{
  5. this.students = res.data
  6. }).catch(e=>{
  7. console.error(e);
  8. })
  9. //缺点:每个使用axios的组件都需要导入

注:axios对服务端数据的封装

        res.config:响应信息的配置情况

        res.data:响应的数据

        res.headers:响应头信息(信息的大小、信息的类型)

        res.request:请求对象

        res.status:请求、响应的状态码

        res.statusText:请求、响应状态码对应的文本信息

        2️⃣在项目的main.js文件中导入axios,将其写入Vue的原型中(推荐使用)

  1. import axios from "axios";
  2. Vue.prototype.$http = axios

在组件中通过this.$http的方式使用

  1. this.$http.get('http://127.0.0.1:9001/students/test').then(res=>{
  2. this.students = res.data
  3. }).catch(e=>{
  4. console.log(e)
  5. })

缺点:只能在vue2使用,vue3中不能用

         3️⃣将axios单独封装到某个配置文件中(在配置文件中单独封装axios实例)

(1)配置文件:axiosApi.js

  1. import axios from "axios";
  2. const axiosApi = axios.create({
  3. baseURL:'http://127.0.0.1:9001', //基础地址
  4. timeout:2000 //连接超时的时间(单位:毫秒)
  5. })
  6. export default axiosApi //axiosApi是axios的实例

(2)使用:

  1. import $http from '../config/axiosapi'
  2. $http.get('/students/test').then(res=>{
  3. this.students = res.data.info
  4. }).catch(e=>{
  5. console.log(e)
  6. })

优点:既可以在vue2中使用,也可以在vue3中使用

3、axios的不同请求方式向服务器提交数据的格式:

(1)get请求:服务器端通过req.quert参数名来接收

         1️⃣直接将请求参数绑定在url地址上

  1. let str = '张三'
  2. $http.get('/students/test/?username='+str).then(res=>{
  3. this.students = res.data.info
  4. }).catch(e=>{
  5. console.log(e)
  6. })

        2️⃣通过params方式进行提交

  1. let str = '张三'
  2. $http.get('/students/test',{
  3. params:{
  4. username:str
  5. }
  6. }).then(res=>{
  7. this.students = res.data.info
  8. }).catch(e=>{
  9. console.log(e)
  10. })

(2)post方式请求:服务器端通过req.body.参数名获取数据

  1. let str = '张三'
  2. $http.post('/students/test',{
  3. username:str
  4. }).then(res=>{
  5. this.students = res.data.info
  6. }).catch(e=>{
  7. console.log(e)
  8. })

(3)put方式请求:和post方式一样

(4)delete方式请求:和get方式一样

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/529721
推荐阅读
相关标签
  

闽ICP备14008679号