• react axios


    • 安装axios
    npm install axios
    
    • 建立请求js
    import axios from "axios";
    import { Component } from "react";
    
    let base = "/api";
    
    // 请求前拦截
    axios.interceptors.request.use(
      config => {
        return config;
      },
      err => {
        console.log("请求超时");
        return Promise.reject(err);
      }
    );
    
    // 返回后拦截
    axios.interceptors.response.use(
      data => {
        return data;
      },
      err => {
        if (err.response.status === 504 || err.response.status === 404) {
          console.log("服务器被吃了⊙﹏⊙∥");
        } else if (err.response.status === 401) {
          console.log("登录信息失效⊙﹏⊙∥");
        } else if (err.response.status === 500) {
          console.log("服务器开小差了⊙﹏⊙∥");
        }
        return Promise.reject(err);
      }
    );
    
    // @RequestBody请求
    const postRequestBody = (url, params) => {
      return axios({
        method: "post",
        url: `${base}${url}`,
        data: params,
        headers: {
          "Content-Type": "application/json",
          charset: "utf-8"
        }
      });
    };
    
    // @RequsetParam请求
    const postRequestParam = (url, params) => {
      return axios({
        method: "post",
        url: `${base}${url}`,
        data: params,
        transformRequest: [
          function(data) {
            let ret = "";
            for (let it in data) {
              ret +=
                encodeURIComponent(it) + "=" + encodeURIComponent(data[it]) + "&";
            }
            return ret;
          }
        ],
        headers: {
          "Content-Type": "application/x-www-form-urlencoded"
        }
      });
    };
    
    const get = url => {
      return axios({
        method: "get",
        url: `${base}${url}`
      });
    };
    
    const multiple = function(requsetArray, callback) {
      axios.all(requsetArray).then(axios.spread(callback));
    };
    
    Component.prototype.get = get;
    Component.prototype.postRequestBody = postRequestBody;
    Component.prototype.postRequestParam = postRequestParam;
    Component.prototype.multiple = multiple;
    
    
    • index.js引入封装js
    import "./axios/http";


    作者:ChangLau
    链接:https://www.jianshu.com/p/79816fa9c54f
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    自定义TypeConverter把基础类型转换为复杂类型
    自学MVC看这里——全网最全ASP.NET MVC 教程汇总
    C#枚举器接口IEnumerator的实现
    nopCommerce架构分析系列(二)数据Cache
    NET下三种缓存机制(Winform里面的缓存使用 )
    【RequireJS--API学习笔记】
    Linux文件的所有权与权限
    ftp服务及其实现之vsftpd
    计算机传输层端口分类
    命令:tr
  • 原文地址:https://www.cnblogs.com/hanzeng1993/p/12176581.html
Copyright © 2020-2023  润新知