久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

淺析uni-app中怎么提交form表單?(代碼解析)

uni-app中怎么提交form表單?下面本篇文章就來給大家分享下兩種uni-app提交form表單的方式,希望對大家有所幫助!

淺析uni-app中怎么提交form表單?(代碼解析)

uni-app提交form表單的兩種方式

方式1:form表單元素較少

比如用戶登錄,如下圖

淺析uni-app中怎么提交form表單?(代碼解析)

前端代碼舉例

此處省略了部分多余代碼

<template> 	<view style="padding:50rpx;"> 		<view style="margin-top:60rpx;"> 			<form @submit="submit"> 				<view class="gui-border-b gui-form-item" style="margin-top:80rpx;"> 					<view class="gui-form-body"> 						<input type="number" class="gui-form-input" v-model="driverTel" name="driverTel" placeholder="手機號" placeholder-style="color:#CACED0"/> 					</view> 				</view> 				 				<view class="gui-border-b gui-form-item" style="margin-top:30rpx;"> 					<view class="gui-form-body"> 						<input type="password" class="gui-form-input" v-if="isPwd"  						v-model="password" name="password" placeholder="密碼" placeholder-style="color:#CACED0"/> 						<input type="text" class="gui-form-input" v-if="!isPwd" :disabled="true"  						v-model="password" name="password" placeholder="密碼" placeholder-style="color:#CACED0"/> 					</view> 					<text class="gui-form-icon gui-icons gui-text-center"  						@click="changePwdType" :style="{color:isPwd?'#999999':'#008AFF'}">&#xe609;</text> 				</view> 				 				<view style="margin-top:50rpx;"> 					<button type="default" class="gui-button gui-bg-blue msgBtn" formType="submit" style="border-radius:50rpx;"> 						<text class="gui-color-white gui-button-text-max">登錄</text> 					</button> 				</view> 			</form> 		</view> 	</view> </template> <script> 	uni.request({ 		url: _self.server_host + "/app/driver/login/password", 		method:'POST', 		header:{'content-type' : "application/x-www-form-urlencoded"}, 		data:{ 			// 對于上面的form表單提交,我們可以直接在uni.request的data屬性中直接提交就行了 			driverTel: _self.driverTel, 			password: _self.password 		}, 		success: (res) => { 			// 服務器返回結果 		} 	}) </script>

后端代碼舉例

/** * 這里可以以一個實體類來接收,實體類必須包含前端傳參參數的對應字段 */ @PostMapping("/password") public Result loginByPassword(LoginUserVO loginUserVO) { 	// 處理業務邏輯 }  /** * 也可以按照字段名來接收 */ @PostMapping("/password") public Result loginByPassword(String username, String passsword) { 	// 處理業務邏輯 }

方式1:form表單元素較多

上面的方法在form表單元素較多時處理起來就比較費事了,一般像新增用戶、商品之類的form表單少則十幾個,多則幾十個。如下圖:
淺析uni-app中怎么提交form表單?(代碼解析)
如果按照上面的寫法,不僅前端寫起來費事不雅觀,后臺接受也要一個字段一個字段的接收也煞是費勁,這個時候我們可以定義一個對象formData,將數據保存到里面提交時直接提交JSON字符串到后端,后端接收到JSON字符串后轉成JSON對象,然后再進行自己的業務邏輯處理

前端代碼舉例:

<!-- 表單元素核心區域 --> <scroll-view :scroll-y="true" :show-scrollbar="false" :style="{height:mainHeight+'px'}"> 	<!-- 第1步 --> 	<view class="gui-padding" v-if="step == 1"> 		<view class="gui-form-item gui-border-b"> 			<text class="gui-form-label">所屬客戶</text> 			<view class="gui-form-body"> 				<picker mode="selector" :range="tenantList" :value="tenantIndex" @change="tenantChange($event,tenantList)" :range-key="'tenantName'"> 					<view class="gui-flex gui-rows gui-nowrap gui-space-between gui-align-items-center"> 						<text class="gui-text">{{tenantList[tenantIndex].tenantName}}</text> 						<text class="gui-form-icon gui-icons gui-text-center gui-color-gray">&#xe603;</text> 					</view> 				</picker> 			</view> 		</view> 		 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">姓名</text> 			<view class="gui-form-body"> 				<input type="text" class="gui-form-input" v-model="formData.driverName" placeholder="請輸入姓名" /> 			</view> 		</view> 		 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">手機號</text> 			<view class="gui-form-body"> 				<input type="text" class="gui-form-input" v-model="formData.driverTel" placeholder="請輸入手機號" /> 			</view> 		</view> 		 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">身份證號碼</text> 			<view class="gui-form-body"> 				<input type="text" class="gui-form-input" v-model="formData.idNumber" placeholder="請輸入身份證號碼" /> 			</view> 		</view> 		 		<view class="gui-margin-top"> 			<text class="gui-form-label" style="width: 100%;">身份證照片(個人信息面)</text> 		</view> 		<view class="gui-idcard-items gui-img-in gui-flex gui-rows gui-justify-content-center"> 			<view class="gui-idcard-items-image" @tap="selectIdPhotoPositive"> 				<gui-image :src="formData.idPhotoPositive" :width="380"></gui-image> 			</view> 		</view> 		 		<view class="gui-margin-top"> 			<text class="gui-form-label" style="width: 100%;">身份證照片(國徽圖案面)</text> 		</view> 		<view class="gui-idcard-items gui-img-in gui-flex gui-rows gui-justify-content-center"> 			<view class="gui-idcard-items-image" @tap="selectIdPhotoReverse"> 				<gui-image :src="formData.idPhotoReverse" :width="380"></gui-image> 			</view> 		</view> 		 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">證件有效期</text> 			<view class="gui-form-body"> 				<picker class="gui-form-picker" mode="date" @change="idNumberValidUntilChange"> 					<text class="gui-text">{{formData.idNumberValidUntil}}</text> 					<text class="gui-icons icon-arrow-down" style="margin-left:5px;"></text> 				</picker> 			</view> 		</view> 		 		<view class="gui-form-item gui-border-b"> 			<text class="gui-form-label">收款人</text> 			<view class="gui-form-body"> 				<picker mode="selector" :range="payeeList" :value="payeeIndex" @change="payeeChange($event,payeeList)" :range-key="'payeeName'"> 					<view class="gui-flex gui-rows gui-nowrap gui-space-between gui-align-items-center"> 						<text class="gui-text">{{payeeList[payeeIndex].payeeName}}</text> 						<text class="gui-form-icon gui-icons gui-text-center gui-color-gray">&#xe603;</text> 					</view> 				</picker> 			</view> 		</view> 	</view>  	<!-- 第2步 --> 	<view class="gui-padding" v-if="step == 2"> 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">駕駛證編號</text> 			<view class="gui-form-body"> 				<input type="text" class="gui-form-input" v-model="formData.drivingLicenseNumber" placeholder="請輸入駕駛證編號" /> 			</view> 		</view> 		 		<view class="gui-margin-top"> 			<text class="gui-form-label" style="width: 100%;">駕駛證(主頁)</text> 		</view> 		<view class="gui-idcard-items gui-img-in gui-flex gui-rows gui-justify-content-center"> 			<view class="gui-idcard-items-image" @tap="selectDrivingLicensePhoto"> 				<gui-image :src="formData.drivingLicensePhoto" :width="380"></gui-image> 			</view> 		</view> 		 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">有效期開始</text> 			<view class="gui-form-body"> 				<picker class="gui-form-picker" mode="date" @change="drivingLicenseValidityStartChange"> 					<text class="gui-text">{{formData.drivingLicenseValidityStart}}</text> 					<text class="gui-icons icon-arrow-down" style="margin-left:5px;"></text> 				</picker> 			</view> 		</view> 		 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">有效期結束</text> 			<view class="gui-form-body"> 				<picker class="gui-form-picker" mode="date" @change="drivingLicenseValidityEndChange"> 					<text class="gui-text">{{formData.drivingLicenseValidityEnd}}</text> 					<text class="gui-icons icon-arrow-down" style="margin-left:5px;"></text> 				</picker> 			</view> 		</view> 		 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">發證機關</text> 			<view class="gui-form-body"> 				<input type="text" class="gui-form-input" v-model="formData.drivingLicenseIssuingOrg" placeholder="請輸入駕駛證發證機關" /> 			</view> 		</view> 		 		<view class="gui-form-item gui-border-b"> 			<text class="gui-form-label">準駕車型</text> 			<view class="gui-form-body"> 				<picker mode="selector" :range="vehicleTypeList" :value="vehicleTypeIndex" @change="vehicleTypeChange($event,vehicleTypeList)" :range-key="'codeSetName'"> 					<view class="gui-flex gui-rows gui-nowrap gui-space-between gui-align-items-center"> 						<text class="gui-text">{{vehicleTypeList[vehicleTypeIndex].codeSetName}}</text> 						<text class="gui-form-icon gui-icons gui-text-center gui-color-gray">&#xe603;</text> 					</view> 				</picker> 			</view> 		</view> 		 		<view class="gui-form-item gui-border-b"> 			<text class="gui-form-label">關聯車輛</text> 			<view class="gui-form-body"> 				<picker mode="selector" :range="vehicleList" :value="vehicleIndex" @change="vehicleChange($event,vehicleList)" :range-key="'carNumber'"> 					<view class="gui-flex gui-rows gui-nowrap gui-space-between gui-align-items-center"> 						<text class="gui-text">{{vehicleList[vehicleIndex].carNumber}}</text> 						<text class="gui-form-icon gui-icons gui-text-center gui-color-gray">&#xe603;</text> 					</view> 				</picker> 			</view> 		</view> 	</view>  	<!-- 第3步 --> 	<view class="gui-padding" v-if="step == 3"> 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">資格證號碼</text> 			<view class="gui-form-body"> 				<input type="text" class="gui-form-input" v-model="formData.roadTransportQualificationCertificateNumber" placeholder="請輸入從業資格證編號" /> 			</view> 		</view> 		 		<view class="gui-margin-top"> 			<text class="gui-form-label" style="width: 100%;">從業資格證</text> 		</view> 		<view class="gui-idcard-items gui-img-in gui-flex gui-rows gui-justify-content-center"> 			<view class="gui-idcard-items-image" @tap="selectRoadTransportQualificationCertificatePhoto"> 				<gui-image :src="formData.roadTransportQualificationCertificatePhoto" :width="380"></gui-image> 			</view> 		</view> 		 		<view class="gui-form-item gui-margin-top gui-border-b"> 			<text class="gui-form-label">證件有效期</text> 			<view class="gui-form-body"> 				<picker class="gui-form-picker" mode="date" @change="roadTransportQualificationCertificateValidUntilChange"> 					<text class="gui-text">{{formData.roadTransportQualificationCertificateValidUntil}}</text> 					<text class="gui-icons icon-arrow-down" style="margin-left:5px;"></text> 				</picker> 			</view> 		</view> 	</view> </scroll-view>  <script> 	export default { 		data() { 			return { 				// 表單數據記錄 				formData: { 					// 第一步 					tenantId: '',															// 所屬客戶 					payeeId: '',															// 收款人 					driverName: '',															// 司機姓名 					driverTel: '',															// 司機電話 					idNumber: '',															// 身份證號碼 					idNumberValidUntil:'請選擇證件有效期',									// 身份證有效期 					idPhotoPositive: 'https://www.zzwlnet.com/files/images/upload_identity_card_front.png',							// 身份證正面(個人信息面) 					idPhotoReverse: 'https://www.zzwlnet.com/files/images/upload_identity_card_contrary.png',						// 身份證反面(國徽面) 					 					// 第二步 					drivingLicenseNumber: '',												// 駕駛證編號 					drivingLicensePhoto: 'https://www.zzwlnet.com/files/images/upload_driving_license.png',							// 駕駛證圖片 					drivingLicenseValidityStart: '請選擇證件有效期開始時間', 					// 駕駛證有效期開始 					drivingLicenseValidityEnd: '請選擇證件有效期結束時間',					// 駕駛證有效期結束 					drivingLicenseIssuingOrg: '',											// 駕駛證發證機關 					quasiDrivingType: '',													// 準駕車型 					vehicleId: '',															// 關聯車輛 					 					// 第三步 					roadTransportQualificationCertificateNumber: '',						// 從業資格證號 					roadTransportQualificationCertificatePhoto: 'https://www.zzwlnet.com/files/images/upload_road_transport_qualification_certificate.png',	// 從業資格證圖片 					roadTransportQualificationCertificateValidUntil: '請選擇證件有效期',		// 從業資格證有效期 				}, 			} 		}, 		methods: { 			submit: function() { 				uni.request({ 					url: _self.server_host + '/api', 					method: 'POST', 					header: {'content-type' : "application/x-www-form-urlencoded"}, 					data: { 						// 傳參方式一:以JSON字符串的形式提交form表單數據 						formData: JSON.stringify(_self.formData), 						// 傳參方式二:將form表單數據以對象形式傳遞 						// formData: _self.formData, 					}, 					success: res => { 						// 服務器返回數據,后續業務邏輯處理 					}, 					fail: () => { 						uni.showToast({ title: "服務器響應失敗,請稍后再試!", icon : "none"}); 					}, 					complete: () => {} 				}); 			} 		} 	} </script>

后端java代碼舉例

// 針對傳參方式一:后臺以String的方式接收 public Result add(String formData){ 	// 將JSON字符串轉換成JSONObject 	JSONObject jsonObject= JSONObject.parseObject(formData); 	// 繼續后續業務邏輯處理 	return Results.success(); }  // 針對傳參方式二:后臺以Object的方式接收 public Result add(Object driverObj){ 	// 繼續后續業務邏輯處理 	return Results.success(); }

推薦:《uniapp教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
日本v片在线高清不卡在线观看| 日本中文字幕不卡| 国产极品模特精品一二| 蜜桃久久av一区| 悠悠资源网久久精品| 欧美丝袜一区| 久久久蜜桃一区二区人| 欧美亚洲日本精品| 日韩网站中文字幕| 91tv亚洲精品香蕉国产一区| av在线最新| 黄色aa久久| 精品久久精品| 一区二区精品伦理...| 国产不卡精品| 精品国产中文字幕第一页| 国产精品视频首页| 美女精品一区二区| 精品视频在线观看网站| 日本不卡免费高清视频在线| 久久精品青草| 在线视频日韩| 日韩在线观看一区二区| 亚洲日本久久| 国产欧美日韩免费观看| 久久精品国产在热久久| 日韩国产一区| 999国产精品| 黄色亚洲在线| 亚洲日本国产| 欧美激情网址| 亚洲资源网站| 国产调教精品| 国产成人精品福利| 免费精品国产的网站免费观看| 在线综合亚洲| 日本午夜精品久久久| 国产精品成人自拍| 高清av一区| 美女网站一区| 午夜电影一区| 乱一区二区av| 日韩电影免费网站| 国产精品呻吟| 日韩视频一二区| 国产成人免费| 亚洲一卡久久| 日韩国产欧美一区二区三区| 久久99高清| 亚洲一区二区免费看| 欧美天堂一区| 一本大道色婷婷在线| 亚洲免费高清| 免费观看亚洲天堂| 亚州av乱码久久精品蜜桃| 中文字幕亚洲在线观看| 中文字幕亚洲精品乱码| 久久爱www成人| 久久精品亚洲欧美日韩精品中文字幕| 日韩中文字幕91| 色婷婷综合网| 亚洲丝袜啪啪| 特黄毛片在线观看| 日韩二区三区四区| 在线视频观看日韩| 青青草伊人久久| 亚洲无线一线二线三线区别av| 日本综合精品一区| 久久一区二区中文字幕| 国产日韩三级| 亚洲欧美日韩高清在线| 久久xxx视频| 视频一区二区中文字幕| 日本一区二区免费高清| 亚洲精品美女91| 日韩黄色在线观看| 99精品在线观看| 国产精品白浆| 亚洲一区二区三区高清| 中文在线а√在线8| 日韩avvvv在线播放| 另类中文字幕国产精品| 国产精选久久| 一区二区国产精品| 国产精品久久久久av电视剧| 日韩av中文字幕一区二区三区| 精品一区欧美| 麻豆国产精品视频| 国产精品三上| 久久天堂成人| 你懂的网址国产 欧美| 99在线|亚洲一区二区| 午夜天堂精品久久久久| 蜜臀久久99精品久久一区二区| 亚洲精品看片| 久久国产电影| 日本精品另类| 麻豆亚洲精品| 成人污污视频| 国产欧美一区二区精品久久久| 欧美日韩免费观看视频| 国产精品综合色区在线观看| 亚洲天堂一区二区| 国产精品第十页| 噜噜噜久久亚洲精品国产品小说| 美女av在线免费看| 国产亚洲一卡2卡3卡4卡新区| 老色鬼久久亚洲一区二区| 欧美国产美女| 国产精品v一区二区三区| 狠狠久久婷婷| 欧美成人a交片免费看| 国产日韩一区| 日韩一区二区三区高清在线观看| 麻豆精品视频在线观看免费| 日韩av一区二区三区四区| 日韩高清中文字幕一区二区| 国产欧美日韩在线观看视频| 欧美日韩国产传媒| 国产欧美69| 在线视频亚洲欧美中文| 红桃视频亚洲| 成人日韩在线| 欧洲精品一区二区三区| 久久在线91| 视频一区中文| 日韩中文字幕高清在线观看| 高清不卡亚洲| 久久精品五月| 久久99影视| 亚洲作爱视频| 香蕉久久国产| 久久av在线| 日韩欧美二区| 欧美日韩精品免费观看视完整| 久久99青青| 久久精品系列| 久久精品一区| 久久成人av| 久久福利在线| av资源中文在线| 你懂的国产精品| 国产精品成人一区二区不卡| 久久精品国产精品亚洲毛片| 国产66精品| 国产乱人伦精品一区| 国产精品亚洲欧美| 欧美一区精品| 亚洲精品美女| 日本天堂一区| 久久国内精品自在自线400部| 国产欧美日韩影院| 国产剧情一区| 国产精品日韩精品中文字幕| 日韩免费精品| 日韩激情av在线| 欧美日韩亚洲一区| 久久久久伊人| 国产欧美自拍| 日本а中文在线天堂| 久久国产中文字幕| 国产专区一区| 亚洲天堂免费| 亚洲精品日韩久久| 欧美精品aa| 久久亚洲黄色| 久久久9色精品国产一区二区三区| 91精品蜜臀一区二区三区在线 | 国产成人免费精品| 精品三级av| 色吊丝一区二区| 成人福利av| 亚洲a级精品| 三级亚洲高清视频| 亚洲精品成a人ⅴ香蕉片| 你懂的亚洲视频| 色爱av综合网| 日本综合视频| 欧美a级一区二区| 在线日韩欧美| 免费在线欧美视频| 欧美激情99| 国产精品羞羞答答在线观看| 在线天堂中文资源最新版| 免费av一区二区三区四区| 妖精视频成人观看www| 国产精品资源| 日韩免费看片| 性色一区二区| 日韩1区2区日韩1区2区| 日韩欧美自拍| 日韩天堂av| 国产精品xxx| 欧美三级网址| 香蕉成人久久| 欧美极品中文字幕| 久久久成人网| 日韩福利视频导航| 老色鬼精品视频在线观看播放| 亚洲麻豆一区|