一、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/zh-tw/n/136781.html
微信掃一掃
支付寶掃一掃