封装ajax请求函数模块

ajax请求函数 返回值:promise对象(异步返回的数据是response.data)

下载axios:

npm install  --save axios

完整代码:

  • 默认向外暴露ajax函数
    传入参数:请求url,请求参数格式,请求方式;
import axios from 'axios'
export default function ajax (url, data = {}, type = 'GET') {
  // 执行异步ajax请求
  let promise = new Promise((resolve, reject) => {
    if (type === 'GET') {
      // 准备url query参数数据
      let dataStr = '' // 拼接字符串
      Object.keys(data).forEach(key => {
        dataStr += key + '=' + data[key] + '&'
      })
      if (dataStr !== '') {
        dataStr = dataStr.substring(0, dataStr.lastIndexOf('&'))
        url = url + '?' + dataStr
      }
      // 发送get请求
      promise = axios.get(url)
    } else {
      // 发送post请求
      promise = axios.post(url, data)
    }
    promise.then(function (response) {
      // 成功回调
      resolve(response.data)
    }).catch(function (error) {
      // 失败回调
      reject(error)
    })
  })
  return promise
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。