一、基本介紹
axios是一個基于Promise的(de)HTTP客(ke)戶(hu)端,可(ke)用于瀏(liu)覽器和node.js。
axios的特點:
從瀏覽器中創建XMLHttpRequests 從node.js創建http請求 支持Promise API 攔截請求和響應 轉換請求數據和響應數據 取消請求 自動轉換JSON數據 客戶端支持防止CSRF本文將(jiang)詳細介紹axios.put方法(fa),說明其(qi)使用方法(fa)、參數、特(te)點和應用場(chang)景(jing)。
二、基本用法
在使用axios.put方法時,需要傳入url和data兩(liang)個(ge)參數。
其(qi)中,url為請(qing)求的(de)接口(kou)地址,data為請(qing)求的(de)參數。
axios.put('/api/user', {
name: 'john',
age: 18
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
三、參數詳解
axios.put方法可以接(jie)收三個參數,分別是url、data和config。
1. url
url為請(qing)求(qiu)的(de)接口地址(zhi),可以是(shi)相(xiang)對路(lu)徑或絕對路(lu)徑。
axios.put('/api/user', {
name: 'john',
age: 18
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
2. data
data為請(qing)求的參數(shu)。
axios.put('/api/user', {
name: 'john',
age: 18
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
3. config
config為請求的配(pei)置選項,包括(kuo)headers、params、timeout等。
axios.put('/api/user', {
name: 'john',
age: 18
}, {
headers: {'X-Requested-With': 'XMLHttpRequest'},
params: {id: 1},
timeout: 1000
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
四、特點
axios.put方法的特點如下:
1. 支持Promise API
axios.put方法返回的(de)是一個Promise對象,可(ke)用于鏈(lian)式調用。
axios.put('/api/user', {
name: 'john',
age: 18
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
2. 支持攔截器
axios.put方法支持請(qing)求(qiu)攔截器(qi)和響(xiang)應攔截器(qi),用于對請(qing)求(qiu)和響(xiang)應進行全局處理。
// 添加請求攔截器
axios.interceptors.request.use(function (config) {
// 在請求發送之前做一些處理
return config;
}, function (error) {
// 對請求錯誤做些什么
return Promise.reject(error);
});
// 添加響應攔截器
axios.interceptors.response.use(function (response) {
// 對響應數據做些什么
return response;
}, function (error) {
// 對響應錯誤做些什么
return Promise.reject(error);
});
// 發送put請求
axios.put('/api/user', {
name: 'john',
age: 18
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
3. 支持取消請求
axios.put方(fang)法支持取消(xiao)請(qing)求(qiu),用(yong)于在請(qing)求(qiu)發送之前或請(qing)求(qiu)返(fan)回之后(hou)取消(xiao)請(qing)求(qiu)。
// 創建取消請求的對象
var cancelToken = axios.CancelToken;
var source = cancelToken.source();
// 發送put請求
axios.put('/api/user', {
name: 'john',
age: 18
}, {
cancelToken: source.token
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
// 取消請求
source.cancel('取消請求');
五、應用場景
axios.put方(fang)法可以用于以下一些場(chang)景:
1. 更新數據
axios.put可以用于更(geng)新數據(ju)。
axios.put('/api/user', {
id: 1,
name: 'john',
age: 18
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
2. 整體替換數據
axios.put可以用于整體替(ti)換數據。
axios.put('/api/user', {
id: 1,
address: 'beijing'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
3. 批量更新數據
axios.put可以用于批量(liang)更(geng)新數據。
axios.put('/api/user/batch', [
{id: 1, name: 'john'},
{id: 2, name: 'mike'}
])
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});