前端笔记

form表单

2018-05-12  本文已影响12人  好奇男孩

post 和 get 方式提交数据有什么区别

1.最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数;

2.GET能被缓存,POST不能缓存 。

3.GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。

4.GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。

5.GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。

6 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。
GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。

7.GET方法请求资源。POST的语义是上传数据。

8.POST不安全,不幂等,

在input里,name 有什么作用?

placeholder 属性有什么作用?

该提示会在输入字段为空时显示,并会在字段获得焦点时消失。

label 有什么作用?如何使用?

label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。

<div class="username">
<label for="username">姓名</label>
<input id="username" type="text" name="username"/>
</div>

type=hidden隐藏域有什么作用?

1.隐藏域的作用是帮助表单收集和发送信息,便于后端处理数据。用户点击提交数据的时候,隐藏域的信息也被一起发送到了后端。

2.后端接收前端传来的数据,需要确认前端的身份,是本公司的网页传来的数据,而不是其他黑客知道后端地址后传来的假数据。那么就加一个隐藏域,验证value里的值和数据库里name的值是不是对应的。

3.有时候一个表单里有多个提交按钮,后端怎么知道用户是点击哪个按钮提交过来的呢?这时候我们只要加隐藏域,对每一个按钮起个名字(value值),后端接收到数据后,检查value值,就能知道是哪个按钮提交的了。

4.有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。

5.防范CRSF攻击

5.表单范例

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<div class="login">
    <form action="/getInfo" method="post">
        <div class="username">
            <label for="username">姓名:</label>
            <input id="username"  type="text" name="username" placeholder="用户名"/>
    </div>
        <div class="password">
            <label for="password">密码:</label>
            <input id="password" type="password" name="password" placeholder="请输入密码" value="56767889"/>
    </div>
        <div class="sex">
            <label for="">性别</label>
            <input type="radio" name="sex1" value="男" checked/>男
            <input type="radio" name="sex1" value="女"/>女
        </div>
        <div class="sex">
            <label for="">取向</label>
            <input type="radio" name="sex2" value="男" />男
            <input type="radio" name="sex2" value="女" checked/>女
        </div> 
        <div class="hobby">
            <label >爱好</label>
            <input type="checkbox" name="hobby" value="data"/>data
            <input type="checkbox" name="hobby" value="旅游" checked/>旅游
            <input type="checkbox" name="hobby" value="宠物" checked/>宠物
        </div>
        <div class="textarea">
            <label for=" review">评论:</label>
            <textarea name="review" id=" review" cols="30" rows="10">
                ddd
            </textarea>
            <input type="hidden" name="csrf" value="123456"/>
        </div>
        <div class="select">
            <label for="car">我的car:</label>
            <select name="car" id="car">
                <option selected  value="萨博" >萨博</option>
                <option value="奔驰">奔驰</option>
                <option value="宝马">宝马</option>
            </select>
            <span class="submit">
                <input type="submit" value="提交">
            </span>

        </div>

    </form>
</div>
</body>
</html>
1.png
上一篇 下一篇

猜你喜欢

热点阅读