码迷,mamicode.com
首页 > 移动开发 > 详细

yb课堂 基于浏览器和node.js的http客户端Axios 《三十四》

时间:2020-07-19 17:48:22      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:OLE   creat   const   rmi   单列   res   post   json   ide   

什么是Axios

  • 基于promise用于浏览器和node.js的http客户端
    • 支持浏览器和node.js
    • 支持Promise API
    • 支持拦截请求和响应
    • 支持转换请求和响应数据
    • JSON数据的自动转换
    • 客户端支持已防止XSRF
  • 官方文档地址:http://www.axios-js.com/zh-cn/docs/

安装 cnpm install axios

GET请求例子

// 为给定 ID 的 user 创建请求
axios.get(‘/user?ID=12345‘)
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

// 上面的请求也可以这样做
axios.get(‘/user‘, {
    params: {
      ID: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

POST请求例子

axios.post(‘/user‘, {
    firstName: ‘Fred‘,
    lastName: ‘Flintstone‘
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

执行多个并发请求

function getUserAccount() {
  return axios.get(‘/user/12345‘);
}

function getUserPermissions() {
  return axios.get(‘/user/12345/permissions‘);
}

axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    // 两个请求现在都执行完成
  }));

使用axios封装请求后端api接口

在src下创建Request.js

Request.js

import axios from ‘axios‘

const service=axios.create({
    // url=base url+request url
    baseURL:"http://127.0.0.1:8081",
    //配置请求超时时间
    timeout:5000
})
//全局导出
export default service

在src下创建api文件夹

在src/api下创建getData.js

import axios from ‘../Request‘

//注册接口
export const registerApi = (name, phone, pwd) => axios.post("/api/v1/pri/user/register", {
    name,
    phone,
    pwd
})

//登陆接口
export const loginApi = (phone, pwd) => axios.post("/api/v1/pri/user/login", {
    "phone": phone,
    "pwd": pwd
})

//轮播图
export const getBanner = () => axios.get("/api/v1/pub/video/list_banner")

//视频列表
export const getVideoList = () => axios.get("/api/v1/pub/video/list")

//视频详情
export const getVideoDetail = (vid) => axios.get("/api/v1/pub/video/find_detail_by_id", {
    params: {
        video_id: vid
    }
})

//下单接口
export const saveOrder = (token, vid) => axios.post("/api/v1/pri/order/save", {
    "video_id": vid
}, {
    headers: {
        "token": token
    }
})

//订单列表
export const getOrderList = (token) => axios.get("/api/v1/pri/order/list", {
    params: {
        "token": token
    }
})

//用户信息接口
export const getUserInfo = (token) => axios.get("/api/v1/pri/user/find_by_token", {
    params: {
        "token": token
    }
})

项目结构

技术图片

 

yb课堂 基于浏览器和node.js的http客户端Axios 《三十四》

标签:OLE   creat   const   rmi   单列   res   post   json   ide   

原文地址:https://www.cnblogs.com/chenyanbin/p/13339670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!