{ console.info("http再次封装方法,vue_添加axios的几种方式">
赞
踩
//全局注册方法 this.$api.getListAPI('/test/list').then(res=>{ console.info("全局注册方法:"+res) }) //使用http.js getListAPI('/test/list').then(res=>{ console.info("http再次封装方法,vue导入:"+res.data.data) }) //封装http文件 http.get('/test/list',null).then(res=>{ console.info('封装http文件:'+res.data.data) }) //将url前缀封装 var a = request({ url:'/test/list', method: 'get', }).then(function(res){ console.info('将url前缀封装:'+res.data) }) //axios原生請求 axios.get('http://localhost:10001/test/list').then(function(data){ // alert(data) console.info('axios原生請求:'+data.data.data.records) _this.tableData = data.data.data.records; })
let baseUrl = "";
switch ('dev') {
case 'dev':
baseUrl = "http://localhost:10001/" //开发环境url
break
case 'serve':
baseUrl = "http://localhost:10001/" //生产环境url
break
}
console.log(baseUrl);
export default baseUrl;
import axios from 'axios' //引入 axios
import baseUrl from '../api/baseUrl' //使用环境变量 + 模式的方式定义基础URL
// 创建 axios 实例
const service = axios.create({
baseURL: baseUrl, // api 的 base_url
timeout: 15000, // 请求超时时间
})
export default service
在vue文件中导入request.js
<script> import request from '@/utlis/request' export default { name:"UserList", methods: { handleClick(row) { console.log(row); } }, created(currentPage){ console.info('页码参数:'+currentPage) //此处是将this指向 为了让下面的可以调用外部this var _this = this; //将url前缀封装 var a = request({ url:'/test/list', method: 'get', }).then(function(res){ console.info('将url前缀封装:'+res.data) _this.tableData = data.data; }) //axios原生請求 axios.get('http://localhost:10001/test/list').then(function(data){ console.info('axios原生請求:'+data.data) //将需要的值赋予外部数据 _this.tableData = data.data; }) }, data() { return { tableData: [] } } } </script>
let baseUrl = "";
switch ('dev') {
case 'dev':
baseUrl = "http://localhost:10001/" //开发环境url
break
case 'serve':
baseUrl = "http://localhost:10001/" //生产环境url
break
}
console.log(baseUrl);
export default baseUrl;
/**** http.js ****/ // 导入封装好的axios实例 import request from './request' const http ={ /** * methods: 请求 * @param url 请求地址 * @param params 请求参数 */ get(url,params){ const config = { method: 'get', url:url } if(params) config.params = params return request(config) }, post(url,params){ const config = { method: 'post', url:url } if(params) config.data = params return request(config) }, put(url,params){ const config = { method: 'put', url:url } if(params) config.params = params return request(config) }, delete(url,params){ const config = { method: 'delete', url:url } if(params) config.params = params return request(config) } } //导出 export default http
import http from '../utlis/http' // /** * @parms resquest 请求地址 例如:http://197.82.15.15:8088/request/... * @param '/testIp'代表vue-cil中config,index.js中配置的代理 */ let baseUrl = "" // get请求 export function getListAPI(url,params){ return http.get(`${baseUrl}`+url,params) } // post请求 export function postFormAPI(params){ return http.post(`${baseUrl}`+url,params) } // put 请求 export function putSomeAPI(params){ return http.put(`${baseUrl}`+url,params) } // delete 请求 export function deleteListAPI(params){ return http.delete(`${baseUrl}`+url,params) } export default function(Vue) { //添加全局API Vue.prototype.$api = { getListAPI,postFormAPI,putSomeAPI,deleteListAPI } }
在main.js中导入
import api from '@/api/api'
Vue.use(api)
//全局注册方法
this.$api.getListAPI('/test/list').then(res=>{
console.info("全局注册方法:"+res)
})
import {getListAPI,postFormAPI, putSomeAPI, deleteListAPI} from '@/api/api'
//使用http.js
getListAPI('/test/list').then(res=>{
console.info("http再次封装方法,vue导入:"+res.data.data)
})
import http from '@/utlis/http'
//封装http文件
http.get('/test/list',null).then(res=>{
console.info('封装http文件:'+res.data.data)
})
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。