vue 對axios get pust put delete封裝的實例代碼
更新時間:2020年01月05日 11:05:08 作者:西門夜說
在本篇文章里我們給各位整理的是一篇關(guān)于vue 對axios get pust put delete封裝的實例代碼內(nèi)容,有需要的朋友們可以參考下。

axios.js
import axios from 'axios';
import Qs from 'qs';
import {Message} from 'element-ui';
axios.defaults.baseURL = "/api";
// 設(shè)置請求超時時間
axios.defaults.timeout = 30000;
// 設(shè)置post請求頭
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8';
// 請求攔截
axios.interceptors.request.use(config => {
// 在發(fā)送請求之前做些什么 驗證token之類的
return config;
}, error => {
// 對請求錯誤做些什么
Message.error({message: '請求超時!'})
return Promise.error(error);
})
// 響應(yīng)攔截
axios.interceptors.response.use(response => {
// 對響應(yīng)數(shù)據(jù)做點什么
return response;
}, error => {
// 對響應(yīng)錯誤做點什么
return Promise.reject(error);
});
// 封裝get方法和post方法
/**
* get方法,對應(yīng)get請求
* @param {String} url [請求的url地址]
* @param {Object} params [請求時攜帶的參數(shù)]
*/
export function get(url, params) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params
}).then(res => {
resolve(res.data);
// Loading.service(true).close();
// Message({message: '請求成功', type: 'success'});
}).catch(err => {
reject(err.data)
// Loading.service(true).close();
Message({message: '加載失敗', type: 'error'});
})
});
}
/**
* post方法,對應(yīng)post請求
* @param {String} url [請求的url地址]
* @param {Object} params [請求時攜帶的參數(shù)]
*/
export function post(url, params) {
return new Promise((resolve, reject) => {
axios.post(url, params)
.then(res => {
resolve(res.data);
// Loading.service(true).close();
// Message({message: '請求成功', type: 'success'});
})
.catch(err => {
reject(err.data)
// Loading.service(true).close();
Message({message: '加載失敗', type: 'error'});
})
});
}
/**
* post方法,參數(shù)序列化
* @param {String} url [請求的url地址]
* @param {Object} params [請求時攜帶的參數(shù)]
*/
export function qspost(url, params) {
return new Promise((resolve, reject) => {
axios.post(url, Qs.stringify(params))
.then(res => {
resolve(res.data);
// Loading.service(true).close();
// Message({message: '請求成功', type: 'success'});
})
.catch(err => {
reject(err.data)
// Loading.service(true).close();
Message({message: '加載失敗', type: 'error'});
})
});
}
/**
* put方法,對應(yīng)put請求
* @param {String} url [請求的url地址]
* @param {Object} params [請求時攜帶的參數(shù)]
*/
export function put(url, params) {
return new Promise((resolve, reject) => {
axios.put(url, params)
.then(res => {
resolve(res.data);
// Loading.service(true).close();
// Message({message: '請求成功', type: 'success'});
})
.catch(err => {
reject(err.data)
// Loading.service(true).close();
Message({message: '加載失敗', type: 'error'});
})
});
}
/**
* delete
* @param {String} url [請求的url地址]
* @param {Object} params [請求時攜帶的參數(shù)]
*/
export function deletefn(url, params) {
return new Promise((resolve, reject) => {
axios.delete(url, params)
.then(res => {
resolve(res.data);
// Loading.service(true).close();
// Message({message: '請求成功', type: 'success'});
})
.catch(err => {
reject(err.data)
// Loading.service(true).close();
Message({message: '加載失敗', type: 'error'});
})
});
}

brand.js
import { get,post,qspost,put,deletefn } from '../../utils/axios/axios'
export const getBrandList = data => post("/item/brand/list",data)
export const addBrand = data =>post("/item/brand",data);
Brand.vue
import {getBrandList,addBrand} from "../../api/item/brand";

以上就是本次介紹的全部相關(guān)知識點,感謝大家的學習和對腳本之家的支持。
以上就是全部實例代碼,感謝大家的學習和對腳本之家的支持。
相關(guān)文章
如何在Vue和Spring?boot之間實現(xiàn)前后端連接
最近搭建一個Springboot+vue前后端分離項目,真的很簡單,下面這篇文章主要給大家介紹了關(guān)于如何在Vue和Spring?boot之間實現(xiàn)前后端連接的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05
vue數(shù)據(jù)更新了但在頁面上沒有顯示出來的解決方法
有時候 vue 無法監(jiān)聽到數(shù)據(jù)的變化,導致數(shù)據(jù)變化但是視圖沒有變化,也就是數(shù)據(jù)更新了,但在頁面上沒有顯示出來,所以本文給出了三種解決方法,通過代碼示例介紹的非常詳細,需要的朋友可以參考下2023-12-12

