개발 중인 axios
일상 설치
npm install --save axios vue-axios는main.js중
```import axios from 'axios'
```import VueAxios from 'vue-axios'
```Vue.use(VueAxios, axios)
-----------------------------------------------------------------
#### , axios , axios , axiosConfig.js
import axios from 'axios';
import Message from ''
import QS from 'qs'; //axios ,
const instance = axios.create({
baseURL: process.env.API_ROOT,
timeout: 3000,
});
instance.defaults.withCredentials = true;
const pending = []; // ajax ajax
const cancelToken = axios.CancelToken;
const removePending = (config) => {
for (const p in pending) {
if (pending[p].u === `${config.url}&${config.method}`) { //
pending[p].f(); //
pending.splice(p, 1); //
}
}
};
//
axios.interceptors.request.use((config) => {
removePending(config); // ajax
config.cancelToken = new cancelToken((c) => {
//
pending.push({ u: `${config.url}&${config.method}`, f: c });
});
return config;
}, error => Promise.reject(error));
instance.interceptors.response.use(
(res) => {
let R = null;
// ,
if (res.status === 200) {
const {
data: {
data: resData, success = false, errorCode = '', errorMsg = '',
},
} = res;
//true resolve,false reject
if (success) {
R = resData;
return Promise.resolve(R);
}
R = [errorCode, errorMsg];
return Promise.reject(R);
}
return `error${res}`;
},
(error) => {
Message.error({
message: error.message || ' ',
});
if (error.response) {
return Promise.reject(error.response.data);
}
return Promise.reject([-1, ' ']);
},
);
export default {
get(url, params) {
return new Promise((resolve, reject) => {
instance.get(url, { params })
.then((res) => {
resolve(res);
})
.catch((err) => {
console.error(`GET url(${url}) , :`);
console.error(err);
reject(err);
});
});
},
// post
post(url, params = {}) {
return new Promise((resolve, reject) => {
// console.debug('post params=',params);
instance.post(url, QS.stringify({ ...params }))
.then((res) => {
resolve(res);
})
.catch((err) => {
reject(err);
});
});
},
//
postJson(url, params) {
return new Promise((resolve, reject) => {
instance.post(url, params, { headers: { 'Content-Type': 'application/json' } })
.then((res) => {
resolve(res);
})
.catch((err) => {
reject(err);
});
});
},
postFile(url, formData) {
return new Promise((resolve, reject) => {
instance.post(url, formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
})
.then((res) => {
resolve(res);
})
.catch((err) => {
console.error(`POST url(${url}) , :`);
console.error(err);
reject(err);
});
});
},
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.