您现在的位置是:首页 >  云笔记 >  开发随笔 >  文章详情

form表单action中的url会丢失参数

特不靠谱   2020-10-21 09:28:32   310人已围观

今天提交一个简单的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