npm install axios -S  

 

目录

 

 

ajax.js   请求工具

/*
ajax请求函数模块
返回值: promise对象(异步返回的数据是: response.data)
 */
import axios from "axios";
import da from 'element-ui/src/locale/lang/da'
export default function ajax (url, data={}, type='GET',headers={}) {

  return new Promise(function (resolve, reject) {
    // headers["Aauthorized"]= "xxxx"
    const user_headers = {headers: headers};
    // 执行异步ajax请求
    let promise
    if (type === 'GET')
    {// 发送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
      }
      promise = axios.get(url=url,headers=user_headers)
    } else if(type === 'POST')
    {
      // 发送POST请求
      promise = axios.post(url=url, data=data,headers=user_headers)
    }else //FORM
    {
      promise =  axios.postForm(url=url,data=data,headers=headers)
    }
    promise.then(function (response) {
      // 成功了调用resolve()
      // resolve(response.data)
      resolve(response)
    }).catch(function (error) {
      //失败了调用reject()
      reject(error)
    })
  })
}

/**
 import {queryData} from '../api/index.js'
 import ajax from './ajax'
 export  const  queryData = () => ajax(url=`${BASE_URL}/sea/category/queryWithPage`,data={},type="POST",headers={"xx":"XXXXXXXX","sea":"SEAAAAAA"})

 use:
 methods: {
      handleClick(row) {
        console.log(row);
      },

      async findData(){
        const result = await queryData()
         console.log(result.data)
        this.xx=result.data
        return  result.data
      }
    }

 */

 

index.js  定义API

 */
import ajax from './ajax'
const BASE_URL = '/api'

export  const  queryData = () => ajax(url=`${BASE_URL}/sea/category/queryWithPage`,{},type="POST",headers={"my_header":"XXXXXXXX","sea":"SEAAAAAA"})

 

使用:

  import {queryData} from '../api/index.js'
  export default {
    name: 'About',
    methods: {
      handleClick(row) {
        console.log(row);
      },

      async findData(){
        const result = await  queryData()
         console.log(result.data)
        this.xx=result.data
        return  result.data
      }
    }

 

:

 

posted on 2023-03-01 17:17  lshan  阅读(94)  评论(0编辑  收藏  举报