一、methods
methods 属性指定在提交表单时使用 HTTP 方法的类型。常用的 HTTP 方法有 GET 和 POST,但除此之外还有其他 HTTP 方法,比如 PUT 和 DELETE,这些方法通常用于 RESTful API,所以 methods 属性显得非常有用。
methods 属性可以设置多个值,以逗号分隔。下面是一个例子:
<form action="example.php" method="post" enctype="multipart/form-data" target="_blank"> <label for="name">名字:</label> <input type="text" name="name"><br> <label for="email">电邮:</label> <input type="email" name="email"><br> <label for="msg">信息:</label> <br> <textarea name="msg"></textarea><br> <input type="submit" value="提交"> </form>
这个例子中,actions 属性设置了提交表单时的 URL 地址,methods 属性设置了使用 POST 方法进行提交。enctype 属性设置了提交数据的编码类型,target 属性设置了提交后的打开方式。
二、form method默认值
如果没有指定方法,则 form 元素使用 GET 方法进行提交。这是由 HTML 4.01 规范定义的默认行为。在 HTML5 中,GET 方法仍然是默认值。以下是一个使用默认值的例子:
<form action="/search"> <label>搜索:</label> <input type="search" name="q"> <input type="submit" value="搜索"> </form>
在上面这个例子中,form 元素使用了 GET 方法进行提交。它会在当前页面的 URL 后追加查询字符串 “?q=xxx”,其中 “xxx” 是用户通过表单输入的搜索条件。
三、使用POST方法进行提交
使用 POST 方法提交时不会把表单数据暴露给 URL,并且可以传输更多数据量。以下是一个使用 POST 方法提交表单的例子:
<form action="/login" method="post"> <label>用户名:</label> <input type="text" name="username"><br> <label>密码:</label> <input type="password" name="password"><br> <input type="submit" value="登录"> </form>
在这个例子中,表单会将用户名和密码以POST方法传输到指定的 URL 地址。虽然 POST 方法比 GET 方法安全,但如果没有使用 HTTPS 协议,表单数据在传输过程中依然有被窃取的可能。
四、Restful API中的PUT和DELETE方法
Restful API 中常用 PUT 和 DELETE 这两个 HTTP 方法来更新和删除资源。下面是一个使用 PUT 方法的例子:
<form action="/users/123" method="put"> <label>名称:</label> <input type="text" name="name" value="John"><br> <label>年龄;</label> <input type="number" name="age" value="25"><br> <input type="submit" value="更新"> </form>
在这个例子中,用户可以更新自己的信息。表单通过 PUT 方法将数据提交到“/users/123”这个 URL 地址去更新编号为 123 的用户信息。
同理,我们可以使用 DELETE 方法来删除一个用户信息。以下是一个使用 DELETE 方法的例子:
<form action="/users/123" method="delete"> <input type="submit" value="删除"> </form>
五、总结
以上就是对 formmethod 的详细介绍。通过这篇文章,你已经了解了 methods 属性的用法,以及 form method 默认值和 Restful API 中的 PUT 和 DELETE 方法的使用。在实际开发中,正确地使用这些属性和方法可以提升开发效率和用户体验,而不正确使用可能会导致严重的安全隐患。
原创文章,作者:AACD,如若转载,请注明出处:https://www.506064.com/n/136781.html
微信扫一扫
支付宝扫一扫