1、GET
<form action="http://baidu.com">
<div>
<input type="text" name="username" id="">
</div>
<div>
<input type="password" name="password" id="">
</div>
<div>
<input type="submit" value="提交">
</div>
</form>
action就是具體的路徑,也可以寫成//baidu.com就是放到百度頁面上請求,usename在左邊,輸入的值在右邊,中間用&連接,password放在左邊,輸入的值放在右邊。這就是一個GET請求是如何構造的。
在Network里看是這樣子的:https://www.baidu.com/?username=xiaoming&password=199910 問號后面的就是查詢參數query,query是一個對象,在這個例子里它是{username:xiaoming, password:199910}。
當然這個網址如果在瀏覽器里是打不開的,如果想要打開,就需要在服務器上針對查詢參數做設置,當服務器接收到這些查詢參數時,及時地返回一個相應的頁面即可。
2、關于input
<input type="submit" value="提交">
<button type="submit"></button>
這兩種方式都可以提交,重點在于type是submit即可,如果type不是submit,即使是input也不行。
3、POST
<form action="http://baidu.com" method="POST">
<div>
<input type="text" name="username" id="">
</div>
<div>
<input type="password" name="password" id="">
</div>
<div>
<input type="submit" value="提交">
</div>
</form>
這段代碼和之前唯一的區別在于增加了一個method是post方法。
- post的參數不會出現在query里,而是放到消息體里。
GET和POST的區別?
- get是沒有消息體的,post是有的
- post一般是沒有查詢參數的,但是可以在action設置成有
- get的url長度有限制,當然是人為限制的
安全性,post更安全一些
4、哪些標簽可以發GET請求
- link
- img
- script
- form
這些發起請求頭都有一個referer表示來源,是誰、哪個頁面發出的
5、form的一些其它屬性
自動填充
<form aciton="/" autocomplete="on/off">
</form>
會自動把以前寫過的一些東西給你選
html較驗
<form action="http://baidu.com">
<div>
<input type="text" name="username" id="" required>
</div>
<div>
<input type="password" name="password" id="" required>
</div>
<div>
<input type="submit" value="提交">
</div>
</form>
input添加了required就是必須填寫項,如果不填寫就會有提示。關于input還有不少東西去mdn查。