form表单action中的url会丢失参数
特不靠谱 2020-10-21 09:28:32 1042人已围观
今天提交一个简单的form表单,发现action中的url参数丢失了;
<form action="${dut.originalUrl}" method="post" id="frmid"> </form> 提交的JS代码如下: <script type="text/javascript"> //跳转过程中不会丢失参数(方案1) window.onload=function(){ var form=document.getElementById("frmid"); form.submit(); }; //跳转过程中不会丢失参数(方案2) /* window.setInterval(function(){ window.location.href='${dut.originalUrl}'; },3000); */ </script>
方案1:
方案1主要是使用form表单来提交一个跳转的地址,表单(form)向服务器提交数据的时候有两种形式,一个是POST,另一个是GET,默认是GET。两种方式的区别是GET会直接把数据附加在url的后面,而POST发送的数据放置在http包中。理论上使用POST方式提交form时候action属性就是提交数据的url地址,不会发生改变,不会丢失,但是实际测试发现还是会有丢失的情况,例如下面三个地址:
不丢失 https://union-click.jd.com/jdc?e=0&p=AyIHVytaJQMiQwpDBUoyS0IQWlALHFRBEwQAR19MQwAECUteDDcdXQJyfWoOCXspZ3pzXBdSOkBiShklF1d7ARMHXBtYFAYSA2UbXh0DFw5WHlIdMhIGVBtaFwoSBlAraxUDIkw7GmsVBhsEUh5YHAAVN1UfXhcKGgJTGl8RAxE3UitTEAMbA10fXgkHFwFdElMlMiI3ZSteJQEiWBFGBiUAEwZUHA==&t=W1dCFBBFC0RUQUpACUhcVlJKSQVJHA 丢失 https://cloud.tencent.com/act/vouchers/list?fromSource=gwzcw.1090669.1090669.1090669&from=console&cps_key=8ee1881d746ad511795993b110b820a1 丢失 https://www.aliyun.com/minisite/goods?userCode=olnbt05n
方案2
方案2主要是使用js来提交一个跳转的地址,window.location.href实际就是超链接,不会丢失url上面附带的各种参数;
分享到:
编辑发布时间:2020-10-21 09:28:32