正常表单提交,且不刷新页面实现
我们都了解正常的表单提交一般都是会刷新页面的,如何做到不刷新页面,方法如下:
function noRefreshPost(){ var url = "/download.aciton"; /* 请求路径 */ var hiddenIFM = null,hiddenForm = null,hiddenInput = null; /* 清理,防止多次执行出现多个相同隐藏元素 */ $("iframe[name='hiddenIframe'],form[target='hiddenIframe']").remove();
/* 创建隐藏的 form 和 iframe,form的target属性指向iframe的name属性值 */ hiddenIFM = $("<iframe name='hiddenIframe'></iframe>"); hiddenForm = $("<form target='hiddenIframe' type='post' action='"+url+"'></form>"); hiddenInput = $("<input type='hidden' name='userName' value='MJ'/>"); /* 传到后台的数据 */ hiddenForm.append(hiddenInput);
$("body").append(hiddenIFM).append(hiddenForm); hiddenForm.submit(); }
实际项目中,页面提交参数然后下载对应附件(不允许新开窗口下载)