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 } }
: