本文介绍如何利用 JavaScript 动态创建或修改表单,通过 POST 方法提交数据。主要解决 GET 请求参数长度受限及需要隐藏地址栏参数的场景。通过动态添加隐藏字段并触发提交,可实现无刷新或后台式的数据传输,避免敏感信息暴露在 URL 中。
JavaScript 模拟 POST 提交实现
利用 JavaScript 实现 POST 方式的表单提交。
通常采用此方法主要基于两个原因:一是请求所需的参数长度过大,超出了 GET 请求允许的最大长度限制;二是出于安全或界面整洁考虑,希望将参数从地址栏中隐藏。
//新创建一个form表单
document.write('<form name=myForm></form>');
var myForm=document.forms['myForm'];
myForm.action='runEmpAttendance';
myForm.method='POST';
var input = document.createElement('input');
input.type = 'text';
input.name = 'userId';
input.value = 100;
myForm.appendChild(input);
myForm.submit();
//使用jsp中已经存在的form表单,添加其他的参数
var myForm = document.forms['listEmployee']; //表单的name
var input = document.createElement('input');
input.type = 'hidden';
input.name = 'currentPage';
input.value = 1;
myForm.appendChild(input);
myForm.method= 'POST';
myForm.submit();