axios.get('/user/12345').then((response)=>{let data = response.data,
status =response.status,
statusText = response.statusText,
headers = response.headers,
config = response.config;})
Config
//axios defaults
axios.defaults.baseURL ='https://api.example.com';
axios.defaults.headers.common['Authorization']=AUTH_TOKEN;
axios.defaults.headers.post['Content-Type']='application/x-www-form-urlencoded';//Custom instance defaults// Set config defaults when creating the instancelet instance = axios.create({
baseURL:'https://api.example.com'});// Alter defaults after instance has been created
instance.defaults.headers.common['Authorization']=AUTH_TOKEN;// Config order of precedence// Create an instance using the config defaults provided by the library// At this point the timeout config value is `0` as is the default for the libraryvar instance = axios.create();// Override timeout default for the library// Now all requests will wait 2.5 seconds before timing out
instance.defaults.timeout =2500;// Override timeout for this request as it's known to take a long time
instance.get('/longRequest',{
timeout:5000});
拦截器
// Intercept request/responses// Add a request interceptor
axios.interceptors.request.use(config=>{// Do something before request is sentreturn config;},error=>{// Do something with request errorreturn Promise.reject(error);})// Add a response interceptor
axios.interceptors.response.use(function(response){// Do something with response datareturn response;},function(error){// Do something with response errorreturn Promise.reject(error);});// Remove interceptorvar myInterceptor = axios.interceptors.request.use(function(){/*...*/});
axios.interceptors.request.eject(myInterceptor);// Custom instance interceptorsvar instance = axios.create();
instance.interceptors.request.use(function(){/*...*/});
错误处理
// Catch error
axios.get('/user/12345').catch(function(error){if(error.response){// The request was made and the server responded with a status code// that falls out of the range of 2xx
console.log(error.response.data);
console.log(error.response.status);
console.log(error.response.headers);}elseif(error.request){// The request was made but no response was received// `error.request` is an instance of XMLHttpRequest in the browser and an instance of// http.ClientRequest in node.js
console.log(error.request);}else{// Something happened in setting up the request that triggered an Error
console.log('Error', error.message);}
console.log(error.config);});// Custom HTTP status code error
axios.get('/user/12345',{
validateStatus:function(status){return status <500;// Reject only if the status code is greater than or equal to 500}})
取消请求
// Cancel request with cancel tokenvar CancelToken = axios.CancelToken;var source = CancelToken.source();
axios.get('/user/12345',{
cancelToken: source.token
}).catch(function(thrown){if(axios.isCancel(thrown)){
console.log('Request canceled', thrown.message);}else{// handle error}});
axios.post('/user/12345',{
name:'new name'},{
cancelToken: source.token
})// cancel the request (the message parameter is optional)
source.cancel('Operation canceled by the user.');// Create cancel tokenvar CancelToken = axios.CancelToken;var cancel;
axios.get('/user/12345',{
cancelToken:newCancelToken(functionexecutor(c){// An executor function receives a cancel function as a parameter
cancel = c;})});// cancel the requestcancel();