Vue axios 中提交表單數(shù)據(jù)(含上傳文件)
我們經(jīng)常使用表單來(lái)上傳數(shù)據(jù),以及上傳文件,那么怎么在表單提交成功的時(shí)候接受服務(wù)器的響應(yīng),并作出相應(yīng)操作.
當(dāng)然使用一般jQuery上傳對(duì)象的格式也是可以的,如果使用傳統(tǒng)的表單上傳呢?
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<form method="post" action="/upload" enctype="multipart/form-data">
<input type="text" name="name" value="" placeholder="請(qǐng)輸入用戶名">
<input type="text" name="age" value="" placeholder="請(qǐng)輸入年齡">
<input type="file" name="uploadFile">
<input type="submit" value="提交">
</form>
</body>
</html>
這種方式可以提交,那么問(wèn)題來(lái)了,表單提交以后如果需要獲取服務(wù)器的響應(yīng)呢,如果需要在響應(yīng)成功后跳轉(zhuǎn)頁(yè)面呢,這種方式顯得不好處理.
切回正題,在vue中這種簡(jiǎn)單的表單提交如何處理呢,其實(shí)使用的是 FormData 來(lái)模擬表單提交
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://cdn.bootcss.com/vue/2.3.4/vue.js"></script>
<script src="https://cdn.bootcss.com/axios/0.16.2/axios.js"></script>
</head>
<body>
<form>
<input type="text" value="" v-model="name" placeholder="請(qǐng)輸入用戶名">
<input type="text" value="" v-model="age" placeholder="請(qǐng)輸入年齡">
<input type="file" @change="getFile($event)">
<button @click="submitForm($event)">提交</button>
</form>
<script>
window.onload = function () {
Vue.prototype.$http = axios;
new Vue({
el: 'form',
data: {
name: '',
age: '',
file: ''
},
methods: {
getFile(event) {
this.file = event.target.files[0];
console.log(this.file);
},
submitForm(event) {
event.preventDefault();
let formData = new FormData();
formData.append('name', this.name);
formData.append('age', this.age);
formData.append('file', this.file);
let config = {
headers: {
'Content-Type': 'multipart/form-data'
}
}
this.$http.post('/upload', formData, config).then(function (res) {
if (res.status === 2000) {
/*這里做處理*/
}
})
}
}
})
}
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue使用axios上傳文件(FormData)的方法
- axios+Vue實(shí)現(xiàn)上傳文件顯示進(jìn)度功能
- 解決axios發(fā)送post請(qǐng)求上傳文件到后端的問(wèn)題(multipart/form-data)
- axios 封裝上傳文件的請(qǐng)求方法
- Element-ui upload上傳文件限制的解決方法
- vue+element_ui上傳文件,并傳遞額外參數(shù)操作
- Vue Element UI + OSS實(shí)現(xiàn)上傳文件功能
- Element-UI中Upload上傳文件前端緩存處理示例
- vuejs+element-ui+laravel5.4上傳文件的示例代碼
- vue中element-ui使用axios上傳文件
相關(guān)文章
vue項(xiàng)目基于WebRTC實(shí)現(xiàn)一對(duì)一音視頻通話
這篇文章主要介紹了vue項(xiàng)目基于WebRTC實(shí)現(xiàn)一對(duì)一音視頻通話效果,實(shí)現(xiàn)代碼分為前端和后端兩部分代碼,需要的朋友可以參考下2024-05-05
Vue.js點(diǎn)擊切換按鈕改變內(nèi)容的實(shí)例講解
今天小編就為大家分享一篇Vue.js點(diǎn)擊切換按鈕改變內(nèi)容的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Vue3響應(yīng)式高階用法之shallowReadonly()使用
在前端開(kāi)發(fā)中,Vue3的shallowReadonly() API允許開(kāi)發(fā)者創(chuàng)建部分只讀的狀態(tài),這對(duì)于保持頂層屬性不變而內(nèi)部屬性可變的場(chǎng)景非常有用,本文將詳細(xì)介紹?shallowReadonly()?的使用方法及其應(yīng)用場(chǎng)景,具有一定的參考價(jià)值,感興趣的可以了解一下2024-09-09
解決vue打包后vendor.js文件過(guò)大問(wèn)題
這篇文章主要介紹了解決vue打包后vendor.js文件過(guò)大問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
VUE使用localstorage和sessionstorage實(shí)現(xiàn)登錄示例詳解
這篇文章主要為大家介紹了VUE使用localstorage和sessionstorage實(shí)現(xiàn)登錄示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08

