Form表單元素提供了兩種數(shù)據傳輸?shù)姆绞健猤et和post旱易。雖然它們都是數(shù)據的提交方式,但是在實際傳輸時確有很大的不同。
Form中的get和post方法袭蝗,在數(shù)據傳輸過程中分別對應了HTTP協(xié)議中的GET和POST方法梳毙。
二者主要區(qū)別如下:
form表單中的method屬性哺窄,默認的是get請求。
get請求數(shù)據在地址欄顯示
post數(shù)據包含在請求主體里面顿天,在頭部里面有類型的顯示get請求數(shù)據相對于post請求而言是不安全的堂氯。
get請求是在通過地址欄URL傳遞,容易被第三方看到牌废,而post請求是看不見的咽白。get提交的數(shù)據有長度限制,大概在4k左右(數(shù)據量心衤啤)
post提交數(shù)據沒有限制晶框,適合大數(shù)據量的傳輸增、刪懂从、改使用的是post請求授段,安全性能高(登錄、注冊番甩、注銷侵贵、修改用post)
查使用的是get請求(搜索、查找信息用get)前端使用get請求后臺使用$_GET獲取
前端使用post請求后臺使用$_POST獲取客戶端提交請求
get
請求行 xhr.open('get','01.php?name=xm&age=12');
請求頭 (默認設置好的缘薛,不需要設置)
請求主體 (可以傳空窍育,因為get不需要傳數(shù)據卡睦,數(shù)據都跟在地址欄里面)
post
請求行 xhr.open('post','01.php');
請求頭 (必須設置請求頭)
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
請求主體 xhr.send("name=xm&age=10");
- 后臺接收表單數(shù)據(PHP中)
$_GET
前端提交用get,后臺接收$_GET['username'];
array關聯(lián)數(shù)組漱抓,返回的是字符串表锻,簡單表單提交
$_POST
前端提交用post,后臺接收$_POST['username'];
array關聯(lián)數(shù)組乞娄,返回的是字符串瞬逊,簡單表單提交