function post(URL, PARAMS) { var temp = document.createElement("form"); temp.action = URL; temp.method = "post"; temp.style.display = "none"; for (var x in PARAMS) { var opt = document.createElement("textarea"); opt.name = x; opt.value = PARAMS[x]; temp.appendChild(opt); } document.body.appendChild(temp); temp.submit(); return temp; } //调用方法 如 post('pages/statisticsJsp/excel.action', { html :prnhtml,cm1:'sdsddsd',cm2:'haha'});
post方式提交参数并下载文件:
正常情况下下载用windows.open(URL)
,若想用post传参可以用如下方式,生成action为URL的表格,然后利用form传参并跳转,由于跳转URL实际上是被下载的文件,所以浏览器会开始下载并保留原来页面(不确定?)。 var temp = document.createElement("form"); temp.action = "catalogDetail.do?method=Download"; temp.method = "post"; temp.style.display = "none"; var PARAMS = { "cata_id" : $("input[name='cata_id']").val(), "where" : filter_condition.where, "columns" : $("#gaojishaixuan_fenzu_column").val()};for (var x in PARAMS) { var opt = document.createElement("textarea"); opt.name = x; opt.value = PARAMS[x]; temp.appendChild(opt); } document.body.appendChild(temp); temp.submit();$(temp).remove();