国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

form表單上傳數(shù)據(jù)的幾種方式

這篇具有很好參考價(jià)值的文章主要介紹了form表單上傳數(shù)據(jù)的幾種方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

form 的基本使用

1、什么是表單

表單在網(wǎng)頁(yè)中主要負(fù)責(zé)數(shù)據(jù)采集功能。HTML中的標(biāo)簽,就是用于采集用戶輸入的信息,并通過標(biāo)簽的提交操作,把用戶收集到的信息發(fā)送到 Web 服務(wù)器進(jìn)行處理。

form表單上傳數(shù)據(jù)的幾種方式

2、表單的組成部分
  1. 表單標(biāo)簽

就是我們常說的form表單,就是所謂的表單標(biāo)簽。

  1. 表單域

也就是表單標(biāo)簽之間的部分,這里面包含了文本框、密碼框、隱藏域、多行文本框、復(fù)選框、單選框、下拉選擇框、和文件上傳框等.各種用于采集用戶信息的標(biāo)簽。

這里面還可以包含一個(gè)特殊的部分,隱藏域:
隱藏域是用來收集或發(fā)送信息的不可見元素,對(duì)于網(wǎng)頁(yè)的訪問者來說,隱藏域是看不見的。當(dāng)表單被提交時(shí),隱藏域就會(huì)將信息用你設(shè)置時(shí)定義的名稱和值發(fā)送到服務(wù)器上。
代碼格式:<input type="hidden" name="..." value="...">

  1. 表單按鈕

既然采集完用戶對(duì)應(yīng)輸入的信息了,我還還需要將其提交到服務(wù)器,這時(shí)就需要借助提交按鈕了。按鈕的種類很多,如button、submit、reset,各自有各自的特點(diǎn)。

<!-- type=text  鍵值對(duì),方式提交 -->
<!-- type=file  上傳formData這種數(shù)據(jù) -->
<form action="">
	<input type="text" name="username" />
	<input type="password" name="password">
	<input type="file" name="file" onchange="fileChange()" />
	<button type="submit">提交</button>
</form>
3、<form>標(biāo)簽的屬性

<form>標(biāo)簽用來采集數(shù)據(jù)

<form>標(biāo)簽的屬性則是用來規(guī)定如何把采集到的數(shù)據(jù)發(fā)送到服務(wù)器。

屬性 描述
accept MIME_type HTML5 不支持。規(guī)定服務(wù)器接收到的文件的類型。(文件是通過文件上傳提交的)
accept-charset character_set 規(guī)定服務(wù)器可處理的表單數(shù)據(jù)字符集。
action URL 規(guī)定當(dāng)提交表單時(shí)向何處發(fā)送表單數(shù)據(jù)。
autocomplete(new) on
off
規(guī)定是否啟用表單的自動(dòng)完成功能。
enctype application/x-www-form-urlencoded
multipart/form-data
text/plain
規(guī)定在向服務(wù)器發(fā)送表單數(shù)據(jù)之前如何對(duì)其進(jìn)行編碼。(適用于 method=“post” 的情況)
method get
post
規(guī)定用于發(fā)送表單數(shù)據(jù)的 HTTP 方法。
name text 規(guī)定表單的名稱。
novalidate(new) novalidate 如果使用該屬性,則提交表單時(shí)不進(jìn)行驗(yàn)證。
target _blank
_self
_parent
_top
規(guī)定在何處打開 action URL。

form表單上傳數(shù)據(jù)(POST)

注意:
1、文件類型(word、excel、image/png、mp4)等文件都需要使用 formData格式上傳文件至服務(wù)器
2、其他的數(shù)據(jù)內(nèi)容基本是那個(gè)都是按照對(duì)象的形式傳遞的

1、直接傳遞對(duì)應(yīng)的參數(shù)

實(shí)例代碼基于jquery實(shí)現(xiàn)文章來源地址http://www.zghlxwxcb.cn/news/detail-475815.html

$(function() {
	$('button').on('click', function(e) {
	    e.preventDefault();
	    $.ajax({
	        url: 'xxx',
	        type: 'POST',
	        //鍵值對(duì)的方式:
	        data: {
	            username: $('[name="username"]').val(),
	            password: $('[name="password"]').val()
	        },
	        success: (res) => {
	            console.log(res);
	        }
	    })
	})
});
2、formData上傳數(shù)據(jù)(文本、文件、視頻、圖片等)
fileChange(){
	//選中文件后,會(huì)觸發(fā)input=file的change事件,即會(huì)進(jìn)入此函數(shù)
	// 1.先創(chuàng)建formData數(shù)據(jù)格式 傳遞HTML對(duì)象(文件上傳推薦)
	var formData = new FormData()[0]);
	// 2.把傳遞給服務(wù)器數(shù)據(jù),追加到formData對(duì)象里面
	// 第一種寫法:一個(gè)個(gè)append
	formData.append('username', $('[name="username"]').val())
	formData.append('password', $('[name="password"]').val());
	//添加選擇的文件 key值為file
	formData.append('file',$('[name="file"]')[0].files[0]); 
	
	// 第二種寫法:遍歷寫法
	let obj = {
		username: $('[name="username"]').val(),
		password: $('[name="password"]').val(),
		file: $('[name="file"]')[0].files[0]
	}
	$.each(obj,function(key,value) {
	  formData.append(key,value)
	})
	
	//刪除數(shù)據(jù)
	//formData.delete('username');
	//發(fā)送請(qǐng)求
	$.ajax({
	    url: 'xxx',
	    type: 'POST',
	    data: formData,
	    //如果提交數(shù)據(jù)格式為formData類型 必須加下面兩句,不添加就報(bào)錯(cuò)
	    processData: false, //不希望使用   application/x-www-form-urlencoded
	    contentType: false, //不采用默認(rèn)的數(shù)據(jù)類型 
	    //數(shù)據(jù)格式是 application/x-www-form-urlencoded
	    success: (res) => {
	        console.log(res);
	    },
	    error: function(err) {
	        console.log(err);
	    }
	})
}
3、form表單數(shù)據(jù)序列化(serialize將傳遞表單中的數(shù)據(jù)序列化)
//serialize form表單里面具有name屬性的標(biāo)簽進(jìn)行序列化, 序列化字符串
console.log($('form').serialize());
//輸出:
username=admin&password=123123

//serializeArray form表單里面具有name屬性的標(biāo)簽進(jìn)行序列化, 序列化數(shù)組套o(hù)bject
console.log($('form').serializeArray());
//輸出:
[ 
  {name: 'username', value: 'admin'}, 
  {name: 'password', value: '123123'},
]

console.log(serializeObject($('form'));
//輸出:
{username:"admin",password:"123123"}
// 將表單中用戶輸入的內(nèi)容轉(zhuǎn)換為對(duì)象類型
// 封裝一個(gè)方法: serializeObject()  ——返回對(duì)象
function serializeObject(obj) {
	var params = obj.serializeArray();
	// 使用each方法對(duì)params進(jìn)行操作
	var result = {};
	// 循環(huán)數(shù)組,將數(shù)組轉(zhuǎn)為對(duì)象類型
	$.each(params, function(index, value) {
	    result[value.name] = value.value;
	})
	return result;
}

$.ajax({
    url: 'xxx',
    type: 'POST',
    data: JSON.stringify(serializeObject($('form')),
    success: (res) => {
        console.log(res);
    },
    error: function(err) {
        console.log(err);
    }
})
            

到了這里,關(guān)于form表單上傳數(shù)據(jù)的幾種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • form表單提交數(shù)據(jù)的兩種方式——submit直接提交、AJAX提交

    form表單本身提供action屬性,在action屬性中填寫數(shù)據(jù)提交地址后,點(diǎn)擊submit類型的按鈕即可將數(shù)據(jù)提交至指定地址,代碼如下: 注意: method指定請(qǐng)求方式 每個(gè)input表單項(xiàng)需要有name屬性 通過上述方式提交表單數(shù)據(jù)后,會(huì)發(fā)生頁(yè)面跳轉(zhuǎn),跳轉(zhuǎn)至action所指定的地址,很難滿足開發(fā)

    2024年02月13日
    瀏覽(27)
  • el-form與el-upload結(jié)合上傳帶附件的表單數(shù)據(jù)(前端篇)

    el-form與el-upload結(jié)合上傳帶附件的表單數(shù)據(jù)(前端篇)

    本文前端采用Vue + element-plus技術(shù)棧,前端項(xiàng)目參考yudao-ui-admin-vue3項(xiàng)目與 Geeker-Admin項(xiàng)目。 這篇文章是el-form與el-upload結(jié)合上傳帶附件的表單數(shù)據(jù)(后端篇)-CSDN博客姐妹篇,后端篇文章主要講的是后端的實(shí)現(xiàn)邏輯,前端篇稍微簡(jiǎn)單一些,其實(shí)最主要的就是封裝el-upload組件,供具

    2024年01月22日
    瀏覽(30)
  • 小程序表單校驗(yàn)uni-forms正確使用方式及避坑指南

    小程序表單校驗(yàn)uni-forms正確使用方式及避坑指南

    小程序上使用表單理應(yīng)是很常用,也很必須的功能,因?yàn)橄到y(tǒng)實(shí)用了uni-app,所以這時(shí)候會(huì)用到uni-forms,但使用過程中遇到不少問題。 這邊的需求有3個(gè): 即時(shí)校驗(yàn)(輸入框失焦立即校驗(yàn)值) 需自定義校驗(yàn)規(guī)則 需要異步校驗(yàn) 滿足這3個(gè)需求,就能實(shí)現(xiàn)絕大部分表單校驗(yàn),然而

    2024年01月18日
    瀏覽(38)
  • Unity——數(shù)據(jù)存儲(chǔ)的幾種方式

    Unity——數(shù)據(jù)存儲(chǔ)的幾種方式

    PlayerPrefs適合用于 存儲(chǔ)簡(jiǎn)單的鍵值對(duì)數(shù)據(jù) 存儲(chǔ)的數(shù)據(jù)會(huì)在游戲關(guān)閉后依然保持,并且可以在不同場(chǎng)景之間共享,適合用于需要在游戲不同場(chǎng)景之間傳遞和保持的數(shù)據(jù)。 它利用key-value的方式將數(shù)據(jù)保存到本地,跟字典類似。然后通過代碼進(jìn)行保存、讀取、更新操作。值得注意

    2024年02月03日
    瀏覽(29)
  • 前端 mock 數(shù)據(jù)的幾種方式

    前端 mock 數(shù)據(jù)的幾種方式

    目錄 接口demo Better-mock just mock koa webpack Charles 總結(jié) ????????具體需求開發(fā)前,后端往往只提供接口文檔,對(duì)于前端,最簡(jiǎn)單的方式就是把想要的數(shù)據(jù)寫死在代碼里進(jìn)行開發(fā),但這樣的壞處就是和后端聯(lián)調(diào)前還需要再把寫死的數(shù)據(jù)從代碼里刪除,最好的方式是無侵入的? m

    2024年02月17日
    瀏覽(20)
  • Baumer工業(yè)相機(jī)堡盟工業(yè)相機(jī)使用BGAPI SDK將圖像數(shù)據(jù)轉(zhuǎn)換為Bitmap的幾種方式(C++)(Mono)

    Baumer工業(yè)相機(jī)堡盟相機(jī)是一種高性能、高質(zhì)量的工業(yè)相機(jī),可用于各種應(yīng)用場(chǎng)景,如物體檢測(cè)、計(jì)數(shù)和識(shí)別、運(yùn)動(dòng)分析和圖像處理。 Baumer的萬兆網(wǎng)相機(jī)擁有出色的圖像處理性能,可以實(shí)時(shí)傳輸高分辨率圖像。此外,該相機(jī)還具有快速數(shù)據(jù)傳輸、低功耗、易于集成以及高度可擴(kuò)

    2024年02月03日
    瀏覽(23)
  • 35.MySQL導(dǎo)出數(shù)據(jù)的幾種方式

    1.導(dǎo)出全表數(shù)據(jù)。 select * from test into outfile \\\'/tmp/a.sql\\\'; 2.導(dǎo)出某個(gè)數(shù)據(jù)庫(kù)下的表。 --secure-file-priv=\\\'\\\'? mysqldump -T /data/backup -u root -prootroot --set-gtid-purged=OFF ?test 將test數(shù)據(jù)庫(kù)導(dǎo)出到:backup目錄下。 3.導(dǎo)出自定義格式的文件。 mysql -uroot -prootroot -e \\\"select * from t2;\\\" test t2.sql? id?? ?nam

    2024年02月04日
    瀏覽(21)
  • sql中刪除數(shù)據(jù)的幾種方式

    1、delete語句 Delete刪除表數(shù)據(jù),保留表結(jié)構(gòu),且可以加where,刪除一行或多行。 只清除數(shù)據(jù),保留表結(jié)構(gòu),列,權(quán)限,索引,視圖,關(guān)系等等,相當(dāng)于清零數(shù)據(jù),是一種數(shù)據(jù)庫(kù)定義語言(DDL Data Definition Language),執(zhí)行后不能撤銷。 清除數(shù)據(jù)并且銷毀表,是一種數(shù)據(jù)庫(kù)定義語言

    2024年02月11日
    瀏覽(25)
  • 數(shù)據(jù)大屏--->前端實(shí)時(shí)更新數(shù)據(jù)的幾種方式

    數(shù)據(jù)大屏--->前端實(shí)時(shí)更新數(shù)據(jù)的幾種方式

    優(yōu)點(diǎn):最大的優(yōu)點(diǎn)就是實(shí)現(xiàn)簡(jiǎn)單 缺點(diǎn):(1)無用的請(qǐng)求多,客戶端不知道服務(wù)端什么時(shí)候數(shù)據(jù)更新,只能不停的向服務(wù)端發(fā)送請(qǐng)求, (2)數(shù)據(jù)實(shí)時(shí)性差:客戶端還是需要一段時(shí)間(3s)才能拿到最新的數(shù)據(jù) 優(yōu)點(diǎn):解決了短輪詢每隔幾秒向服務(wù)端頻繁發(fā)送請(qǐng)求的問題; 缺點(diǎn):(1)服務(wù)端資源大量消

    2024年04月17日
    瀏覽(29)
  • Django傳遞數(shù)據(jù)給前端的幾種方式

    一、使用模板引擎: ????????Django的模板引擎允許在后端代碼中將數(shù)據(jù)傳遞給前端模板,并在模板中進(jìn)行渲染。在視圖函數(shù)中,可以使用 render 函數(shù)來將數(shù)據(jù)傳遞給模板并渲染頁(yè)面。例如: 在 my_template.html 模板中可以通過 {{ name }} 和 {{ age }} 來訪問傳遞的數(shù)據(jù)。例如: 二

    2024年01月18日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包