原理:页面写一个隐藏的iframe,form的target指向这个iframe,在iframe的load事件中获取返回结果。
<!-- 上传 -->
<form action="" method="post" enctype="multipart/form-data" target="hidden_frame" onsubmit="">
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
<iframe id="hidden_frame" name='hidden_frame' style='display: none'></iframe>
//获取导入返回值
document.getElementById("hidden_frame").addEventListener("load", function(e) {
var pre = e.target.contentWindow.document.getElementsByTagName("pre")[0];
if (pre) {
var res = JSON.parse(pre.innerText);
// 执行处理
}
});
<!-- 导出 -->
<form action="" method="post" target="_blank">
<input type="submit" value="导 出" />
</form>
//get请求导出
window.location.href = encodeURI(url); //当前窗口打开
window.open(url); //新窗口打开