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);
}
推荐阅读
- https请求被提早撤回
- 遇到不正当请求怎么办
- 接口|axios接口报错-参数类型错误解决
- 使用Promise对微信小程序wx.request请求方法进行封装
- AnyProxy抓取http/https请求
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- spring|spring boot中设置异步请求默认使用的线程池
- c#常用网址记录
- 微信小程序请求接口格式
- http请求与响应