最近在使用axios發(fā)現(xiàn)有時候需要發(fā)送請求但是不需要傳輸JSON格式的數(shù)據(jù),這時候該怎么辦呢?其實(shí)axios提供了多種方式來發(fā)送數(shù)據(jù),不僅僅是JSON格式。
下面我們來看一下如何用axios發(fā)送普通的表單數(shù)據(jù):
axios({ method: 'post', url: '/form', data: { name: 'jack', age: 18 }, headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(res =>{ console.log(res); }).catch(err =>{ console.log(err); });
注意,在發(fā)送表單數(shù)據(jù)時需要指定headers的Content-Type為application/x-www-form-urlencoded,這樣服務(wù)端才能正確解析數(shù)據(jù)。
另外,如果你想發(fā)送文件數(shù)據(jù),可以這樣做:
const formData = new FormData(); formData.append('file', file); axios.post('/upload', formData).then(res =>{ console.log(res); }).catch(err =>{ console.log(err); });
在這里我們使用了FormData來構(gòu)造上傳文件需要的數(shù)據(jù),然后直接使用axios.post方法上傳即可。
總之,axios提供了多種發(fā)送數(shù)據(jù)的方式,具體使用根據(jù)實(shí)際需求來選擇即可。