ປະກອບມູນ method HTML <form>
ການອະທິບາຍ ແລະ ການນໍາໃຊ້
method
ປະກອບມີການຈະການສົ່ງຂໍ້ມູນຟອມຂໍ້ມູນ (ຂໍ້ມູນຟອມຂໍ້ມູນຈະສົ່ງໄປໃນຫົວຂໍ້ທີ່ກຳນົດໃນປະກອບມູນ action)
ຂໍ້ມູນຟອມຂໍ້ມູນສາມາດສົ່ງໄປທາງ URL ຄູ່ມູນ (ໃຊ້ method="get") ຫຼື ທາງ HTTP POST ການຄວາມຈັບຄວາມ (ໃຊ້ method="post")
ກ່ຽວກັບ GET:
- ສົ່ງຂໍ້ມູນຟອມຂໍ້ມູນໃຫ້ຢູ່ໃນ URL ທາງວິຊາ/ຄູ່ມູນ
- URL ມີຂໍ້ຈໍາກັດຄວາມຍາວ (ປະມານ 3000 ຄັນສາມ)
- ບໍ່ຕ້ອງໃຊ້ GET ສົ່ງຂໍ້ມູນອັນຕະລາຍ! (ຈະເຫັນໃນ URL)
- ມັນມີຜົນດີສຳລັບຟອມຂໍ້ມູນທີ່ຜູ້ນຳໃຊ້ຕ້ອງການເພີ່ມຜົນກະທົບໃຫ້ເປັນບັນທືກ
- GET 更适合非安全数据,例如 Google 中的查询字符串
ກ່ຽວກັບ POST:
- ສົ່ງຂໍ້ມູນບົດບາດໃນການຂໍຂອງ HTTP (ຂໍ້ມູນຈະບໍ່ສະແດງໃນ URL).
- ບໍ່ມີຂໍ້ຈຳນວນຂະຫຍາຍ.
- ຂໍ້ມູນບົດບາດທີ່ສະນວຍທີ່ POST ບໍ່ສາມາດບັນທຶກຄວາມການດຳເນີນການ.
ຄວາມລະອຽດ
ຕົວຢ່າງ 1
ການສະນວຍຂໍ້ມູນທີ່ໃຊ້ method "get":
<form action="/action_page.php" method="get"> <label for="fname">ຊື່:</label> <input type="text" id="fname" name="fname"><br><br> <label for="lname">ຊື່ສະມາຊິກ:</label> <input type="text" id="lname" name="lname"><br><br> <input type="submit" value="ການສະນວຍຂໍ້ມູນ"> </form>
ຕົວຢ່າງ 2
ການສະນວຍຂໍ້ມູນທີ່ໃຊ້ method "post":
<form action="/action_page.php" method="post"> <label for="fname">ຊື່:</label> <input type="text" id="fname" name="fname"><br><br> <label for="lname">ຊື່ສະມາຊິກ:</label> <input type="text" id="lname" name="lname"><br><br> <input type="submit" value="ການສະນວຍຂໍ້ມູນ"> </form>
ວິທິການ
<form method="get|post">
ຄວາມຕ້ອງການທາງສະຖານະການ
ຄວາມຕ້ອງການ | ອະທິບາຍ |
---|---|
get | ຄົບຖານ. ສົ່ງຂໍ້ມູນບົດບາດຫຼັງທີ່ສະເພາະດ້ວຍຮູບແບບ name=value: URL?name=value&name=value. |
post | ສົ່ງຂໍ້ມູນບົດບາດຫຼາຍກວ່າບົດສະຫລະ HTTP post. |
ການຫຼັງວຽກຂອງ attribute method
ບຸນລະບາຍ method ຈະນຳໃຊ້ທີ່ສົ່ງຂໍ້ມູນບົດບາດໃຫ້ທີ່ບໍລິຫານການກວດສອບ. ມີສອງວິທີທີ່ມີຢູ່: POST ແລະ GET.
ຖ້ານຳໃຊ້ POST ນະຄະດີຈະຕັ້ງພາກສ່ວນທັງສອງຂອງບຸນລະບາຍຈະສົ່ງຂໍ້ມູນ. ທຳອິດ ບຸນລະບາຍຈະຕິດຕໍ່ກັບທີ່ບໍລິຫານອອກຂໍ້ມູນບົດສະຫລະທີ່ກໍານົດໃນ action attribute. ເມື່ອມັນຈະຕິດຕໍ່ຫຼັງຈາກນັ້ນ ບຸນລະບາຍຈະສົ່ງຂໍ້ມູນໃຫ້ທີ່ບໍລິຫານດ້ວຍວິທີການສົ່ງຂໍ້ມູນທີ່ແບ່ງພາກ.
ຢູ່ທີ່ທີ່ບໍລິຫານທີ່ມີສິນລະຜັດຂອງຜູ້ນຳໃຊ້ຈະອອກການບັນທຶກທີ່ສະເພາະໃນການນຳໃຊ້ POST ນະຄະດີຂອງຂະບວນການປະຕິບັດຂອງຂະບວນການ POST. ເມື່ອບັນທຶກຖືກອ່ານດັ່ງກ່າວນັ້ນ ຂະບວນການຈະຕ້ອງປ່ຽນຂອບຂໍ້ມູນກ່ອນທີ່ຂະບວນການຈະນໍາໃຊ້ຄູ່ມູນບົດບາດບົດສະຫລະ. ຂະບວນການທີ່ມີສິນລະຜັດຂອງຜູ້ນຳໃຊ້ຈະບັນທຶກຄວາມທີ່ຂະບວນການຄວນຈະນໍາໃຊ້ຄູ່ມູນບົດບາດທັງໝົດນັ້ນ.
ອີງຕາມການການນຳໃຊ້ GET 方法ນີ້ ບຸນລະບາຍຈະຕິດຕໍ່ກັບທີ່ບໍລິຫານອອກຂໍ້ມູນບົດສະຫລະຂອງບົດບາດ ແລະຈະສົ່ງຂໍ້ມູນບົດບາດທັງໝົດໃນການສົ່ງຂໍ້ມູນດຽວກັນ: ບຸນລະບາຍຈະຕິດຕໍ່ຂໍ້ມູນບົດບາດດ້ວຍ URL action. ທີ່ສອງກັນຈະຖືກແບ່ງຕົວດ້ວຍສັນຍາກະດີ.
一般浏览器通过上述任何一种方法都可以传输表单信息,而有些服务器只接受其中一种方法提供的数据。可以在
POST 还是 GET?
如果表单处理服务器既支持 POST 方法又支持 GET 方法,那么你该选择哪种方法呢?下面是有关这方面的一些规律:
- 如果希望获得最佳表单传输性能,可以采用 GET 方法发送只有少数简短字段的小表单。
- 一些服务器操作系统在处理可以立即传递给应用程序的命令行参数时,会限制其数目和长度,在这种情况下,对那些有许多字段或是很长的文本域的表单来说,就应该采用 POST 方法来发送。
- 如果你在编写服务器端的表单处理应用程序方面经验不足,应该选择 GET 方法。如果采用 POST 方法,就要在读取和解码方法做些额外的工作,也许这并不很难,但是也许你不太愿意去处理这些问题。
- 如果安全性是个问题,那么我们建议选用 POST 方法。GET 方法将表单参数直接放在应用程序的 URL 中,这样网络窥探者可以很轻松地捕获它们,还可以从服务器的日志文件中进行摘录。如果参数中包含了信用卡帐号这样的敏感信息,就会在不知不觉中危及用户的安全。而 POST 应用程序就没有安全方面的漏洞,在将参数作为单独的事务传输给服务器进行处理时,至少还可以采用加密的方法。
- 如果想在表单之外调用服务器端的应用程序,而且包括向其传递参数的过程,就要采用 GET 方法,因为该方法允许把表单这样的参数包括进来作为 URL 的一部分。而另一方面,使用 POST 样式的应用程序却希望在 URL 后还能有一个来自浏览器额外的传输过程,其中传输的内容不能作为传统 标签的内容。
ສົ່ງຄວາມຄິດຫນັງຄັນທີ່ຊັດເຈນ
ຄວາມຄິດຫນັງຄັນທີ່ຫນັງຄວາມຄິດຫນັງຄັນນີ້ກໍ່ສາມາດເປັນຄຳຄິດຫນັງຄັນໃນການເລືອກວິທີນີ້. ຖ້າພວກເຮົາມີຟອມຂໍ້ມູນທີ່ຫນັງຄວາມຄິດຫນັງຄັນຫນັງຄັນນີ້ພຽງແຕ່ x ແລະ y ສະນັກງານທີ່ສະເໜີຄວາມຄິດຫນັງຄັນຂອງພວກມັນຈະມີຮູບແບບນີ້:
x=28&y=66
ຖ້າຟອມຂໍ້ມູນໃຊ້ method=GET ສະນັ້ນ URL ທີ່ນຳໃຊ້ເພື່ອຫນັງຄວາມຄິດຫນັງຄັນທີ່ຕິດຕາມບໍລິຫານບັນຊີທີ່ຕິດຕາມຄວາມຄິດຫນັງຄັນນີ້:
http://www.example.com/example/program?x=28&y=66
ພວກເຮົາສາມາດສ້າງ <a> ທີ່ສະເພາະຫນັງຢູ່ທຸກໆເວລາທີ່ພວກເຮົາສາມາດໃຊ້ທີ່ການສະເໜີຟອມຂໍ້ມູນທີ່ມີຄວາມຄິດຫນັງຄັນຫນັງຄັນນີ້:
唯一的问题是,分隔参数所用的 & 符号也是字符实体中的插入符号。如果在 标签的 href 属性中放入一个 & 符号,浏览器就会将其后面的字符替换成相应的字符实体。
为了防止出现这种情况,我们必须用它的实体对等物来替换 & 符号,也就是用 "&" 或 "&" 来替换。替换之后,上面的那个引用服务器应用程序的非表单示例将如下所示:
<a href="http://www.example.com/example/program?x=28&y=66">
ເນື່ອງຈາກນີ້ຍັງບໍ່ສາມາດໃຊ້ສັບສິນ & ໃນ URL ແລະອາດອາດມາມີຄວາມສັບສິນໃນອະນາຄົດ, ພວກເຮົາສົ່ງເສີມໃຫ້ຖະໜົນຕັ້ງການສະໜອງສັບສິນສຸດທ້າຍກໍ່ສາມາດຍອມຮັບສັບສິນໃນສິ່ງແຕກຕ່າງ. ທ່ານກໍ່ສາມາດເບິ່ງໃນເອກະສານຂອງຖະໜົນຕັ້ງຂອງທ່ານເພື່ອຮູ້ວ່າຖະໜົນຕັ້ງຂອງທ່ານສາມາດສະໜອງການສະໜອງສັບສິນນີ້ຫຼືບໍ່.
Browser Support
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Support | Support | Support | Support | Support |