post请求窗口,用于导出文件

【post请求窗口,用于导出文件】//post请求窗口
openPostWindow:function(url,data,name){
var me=this;
var tempForm = document.createElement("form");

tempForm.id="tempForm1";

tempForm.method="post";

//url
tempForm.action=url;
//open方法不能设置请求方式,一般网页的post都是通过form来实现的。
//如果仅仅模拟form的提交方式,那么open方法里那种可设置窗体属性的参数又不能用。
//最后想办法整了这么一个两者结合的方式,将form的target设置成和open的name参数一样的值,通过浏览器自动识别实现了将内容post到新窗口中
tempForm.target=name;



var hideInput = document.createElement("input");

hideInput.type="hidden";

//传入参数名,相当于get请求中的content=
hideInput.name= "content";

//传入传入数据,只传递了一个参数内容,实际可传递多个。
hideInput.value= https://www.it610.com/article/data;

tempForm.appendChild(hideInput);

tempForm.addEventListener( "onsubmit", function(){
//var me=this; //me是tempForm
//var x=me.up('userDutyCont');
me.openWindow(name);
});
//tempForm.οnsubmit=function(){
//var me=this;
//me.openWindow(name);
//}
document.body.appendChild(tempForm);
//tempForm.onsubmit(); //不可用



//tempForm.fireEvent('onsubmit'); //不可用
tempForm.dispatchEvent(new Event('onsubmit')); //不可用

//必须手动的触发,否则只能看到页面刷新而没有打开新窗口
tempForm.submit();

document.body.removeChild(tempForm);

}

    推荐阅读