1. 程式人生 > >Form表單提交數據的幾種方式

Form表單提交數據的幾種方式

顯示 text alt 成對 std ade pos word 變量

一、submit提交

在form標簽中添加Action(提交的地址)和method(post或get),且有一個submit按鈕(<input type=’submit’>)就可以進行數據的提交,每一個input標簽都需要有一個name屬性,才能進行提交。

<form action=’http://www.123.com/postValue’ method=’post’>

<input type=’text’ name=’username’ 
/> <input type=’password’ name=’password’/> <input type=’submit’ value=’登陸‘/> </form> 當點擊登陸時,向服務端發生的數據是:username=username&password=password. 這種默認的提交方式,一般會進行頁面的跳轉(不成功時跳轉到當前頁面)。而有時候我們是對彈出框進行數據提交的,希望提交成功則關閉彈出框並刷選父頁面,失敗則提示失敗原因,且彈出框不關閉。此時可以采用Ajax進行數據提交.

<form action=‘‘ method=’get’>
    
    <input type=’text’ name=’username’ />
    
    <input type=’password’ name=’password’/>
    
        <input type=‘submit‘>
    </form>
<!--如下我們發現get提交方式會將我們的提交的數據拼成一個 key=valule 形式 然後提交給後端-->
技術分享圖片


二get和post方法主要有一下幾點區別:

 <1>、get是將表單內各字段名稱與其內容,以成對的字符串連接,形如:variable = value,通過連接符?,至於action屬性所指程序的url後,各個變量之間使用&連接,比如http://xxxx?a = 1 & b = 2,數據都會直接顯示在url上;

<2>、post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML頭表(header)內一起傳送到action屬性所指的程序處理,改程序會通過標準輸入(stdin)方式,將表單的數據讀出並加以處理,用戶看不到這個過程。

<3>、get是不安全的,因為在傳輸過程,數據被放在請求的url中,這些數據可能被記錄到url文件中,存在隱私泄露的風險;post的所有操作對用戶來說都是不可見的。

當用戶點擊表單的上傳控件時候,表單中的數據將會被上傳到服務器。服務器首先會用<form>中的method屬性所對應的方法,來獲取用戶上傳的數據,然後服務器按照程序規定的業務邏輯進行處理,最後程序會將執行結果返回給用戶。

比如,一個登錄流程可以抽象為如下的順序:

<1>、用戶填寫表單(輸入登陸名、登陸密碼等)

<2>發送表單數據到服務器

<3>服務器讀取表單數據

<4>服務器處理數據

<5>服務器向瀏覽器返回判斷結果
技術分享圖片



Form表單提交數據的幾種方式