get post 请求开发中最普通最常见的请求方式 但是在vue 中如何实现呢 这里记录一下配置过程,
- 首先在src 目录下新建 api 文件夹 在文件夹下新建 request.js 请求基类
import axios from "axios";
const requests = axios.create({
baseURL: "",
timeout: 5000,
headers: {
"Content-Type": "application/x-www-form-urlencoded",
'token': "",
"App-Version": "",
"Lng-Lat": "",
"System-Version": "",
"Mobile-Model": "",
"Device": "",
}
})
requests.interceptors.request.use((config) => {
return config
})
requests.interceptors.response.use((resp) => {
return resp.data
}, (error) => {
console.log('请求失败....................')
return Promise.error(new Error("请求失败"))
})
export default requests
- 请求基础类大概就是这样了 主要是把请求的架子搭起来 另外配置一些基础参数
在 api 文件夹下再新建一个 http.js 文件 配置get 和post 请求
import request from './request'
const http = {
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;
console.log('传递过来的参数========' + params.phone)
}
return request(config)
}
}
export default http
下面可以开始具体发起我们的请求了
- 根据自己需要在对应的文件目录下新建请求管理类 这里以 index.js 举例说明
import http from './http'
export function getMsgCode(params) {
return http.post("/api/sendCode", params)
}
export function getbilllist() {
return http.get("/api/bill/billList", { "household_id": "10131", "pay_status": "1", "community_id": "10", "year": "2022" })
}
请求写好了 下面看具体使用
<button @click="loadData">get请求</button>
<button @click="loadbilllist">post 请求</button>
import { getbilllist, getMsgCode } from '@/api'
const loadData = ()=> {
getbilllist().then((res) => {
console.log("请求成功返回值" + res.code + res.msg);
}).catch((error) => {
console.log('请求失败返回值' + error)
})
}
const loadbilllist = () => {
console.log('点击获取验证码............')
getMsgCode({ params: { "phone": "13027703035" } }).then((res) => {
console.log("请求成功返回值" + res.code + res.msg);
}).catch((error) => {
console.log('请求失败返回值' + error)
})
}
return {
loadData,
loadbilllist
}
到这里axios 的具体请求方法就完成了