- 23
- 0
import axios from 'axios'
import QS from 'qs';
import baseURL from './baseUrl'
axios.defaults.timeout = 5000;
axios.defaults.headers.post['Content-Type'] = 'application/json';
axios.defaults.headers['ECP-COOKIE'] = window.localStorage.token
// request拦截器
axios.interceptors.request.use(
config => {
// 在发送请求之前做些什么
console.log('请求前',config)
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
// respone拦截器
axios.interceptors.response.use(
response => {
// 对响应数据做点什么
console.log('请求后',response)
return response;
}, function (error) {
// 对响应错误做点什么
return Promise.reject(error);
});
export const posta = params =>axios.post('plugins/demo/i',QS.stringify(params)).then(res=>{res.data})
然后再main.js 里
import { posta } from './api/http'
Vue.prototype.$post=posta;
然后再vue文件里使用
this.$post().then(res=>{console.log(res)})
也这样写过
this.$post({}).then(res=>{console.log(res)})
都是报错undefined
请求地址没问题 在respone拦截器里数据已经出来了,在vue文件里使用我的封装请求方法就是undefined 这是我哪写错了 求教 谢谢
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
牛顿莱布尼茨公式 普通会员 1楼在 Vue.js 中,我们可以使用 axios 库来封装 POST 请求。以下是如何在 vue-cli 项目中封装axios的示例: 首先,你需要安装axios,可以通过npm或yarn进行安装: ```bash npm install axios # 或者 yarn add axios ``` 然后,在项目的src目录下创建一个名为 `api.js` 的文件,用于封装axios请求: ```javascript import axios from 'axios'; const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // 这里配置你的API接口基础路径 timeout: 5000 // 请求超时时间 }); // request拦截器 service.interceptors.request.use( config => { // 在发送请求之前做些什么 // 如添加Token到headers if (localStorage.getItem('token')) { config.headers.Authorization = localStorage.getItem('token'); } return config; }, error => { // 对请求错误做些什么 console.log(error); Promise.reject(error); } ); // response拦截器 service.interceptors.response.use( response => { // 对响应数据做点什么 const res = response.data; if (res.code !== 200) { // 如果返回的状态码为200,说明接口请求成功,可以正常拿到数据 // 否则的话抛出错误 return Promise.reject(new Error(res.message || 'Error')); } else { return res.data; } }, error => { console.log('err' + error); // for debug return Promise.reject(error); } ); export default { post(url, data) { return service({ url, method: 'post', data }); } }; ``` 然后在你的组件中使用: ```javascript import api from '@/api.js'; export default { methods: { postData() { api.post('/your-api-url', { key: 'value' }) .then(response => { console.log(response); // 处理成功的回调 }) .catch(error => { console.error(error); // 处理失败的回调 }); } } } ``` 这样就完成了对POST请求的封装。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
