1.0.0 • Published 8 months ago

wil-request v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

wil-request

基于XMLHttpRequest实现get和post请求,支持了promise返回。默认导出es module版本,需要iife格式版本直接引用 dist/request.min.js

Demo示例
前往Gitee

安装

方式一:通过import方式引入

npm install wil-request
import request from 'wil-request';
request({
  url: ''
})
  .then(res => {
    console.log('响应的数据', res);
  });

方式二:内联html文件

npm install wil-request
# 安装 raw-loader,要求版本号为 0.5.1 版本
npm install raw-loader@0.5.1

在 html 文件内使用 \<script> 标签内联引入

<script><%=require('raw-loader!wil-request/dist/request.min.js')%></script>
<script>
  request({
    url: ''
  })
    .then(function (res) {
      console.log('响应的数据', res);
    });
</script>

基本用法

import request from 'wil-request';
Object.assign(request.defaults, {
  headers: {
    'X-Custom': 'appid'
  }
});

// config 配置信息
request.before = function (config) {
  // 在发送请求之前可以修改参数配置,比如:请求Header
  console.log('before拦截,发送请求前执行:', config);
};
// res 请求返回的数据
request.after = function (res) {
  // 对响应数据进行统一的拦截操作
  console.log('after拦截,对返回的数据统一进行拦截操作', res);
};
// 请求错误拦截,只能全局配置一个拦截
request.error = function (res) {
  // 对响应数据做点什么
  console.log('拦截,只能全局配置一个拦截,数据抛出异常前执行:', res);
};

request({
  url: '../data.json'
})
  .then(function (res) {
    console.log(res)
  }, function (err) {
    console.log('请求失败', err)
  })

配置

配置项类型默认值是否必填说明
urlString请求地址
typeString'GET'请求方法GET或者POST 等XMLHttpRequest的type类型
dataObject传输的数据
withCredentialsBooleanfalse跨域需携带cookie可设置为true
timeoutnumber15000毫秒超时时间
headersheaders设置headers

全局默认配置

request.defaults 建议通过Object.assign配置

拦截方法

request.before

添加请求拦截器,使用请看示例

request.after

添加响应拦截器,使用请看示例

request.error

请求错误拦截,只能全局配置一个拦截,数据抛出异常前执行

1.0.0

8 months ago