首页 > 其他分享 >$.ajax异步请求无法下载文件到浏览器本地的问题

$.ajax异步请求无法下载文件到浏览器本地的问题

时间:2022-08-24 17:48:08浏览次数:68  
标签:input2 异步 input1 浏览器 attr form ajax var userAgent

 

  //open这种方式有个弊端,就是转的参数值不能太大,所以只能用jquery创建表单form在提交(ajax异步请求不会触发浏览器下载文件的功能)
           var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
              if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1) {//判断是否IE浏览器
                       window.location.href(url);
                   }else{
                       window.open(url,"xxx");
                   }  
方法1,window.open

 

    //导出
               $("#exportData").click(function() {  
                   var myqx =document.getElementById("qxId").contentWindow.document.getElementById("myqx");
                   var myqxD = $(myqx).val();
                   var id = $("input[name='myHidId']").val();
                   var url = __ctx+'/hyddrbnew/hyddrbnew/hyddrb/exportExcelDdrb.ht';
                   
                   var form = $("<form>");
                   form.attr("style","display:none");
                   form.attr("target","_blank");
                   form.attr("method","post");
                   form.attr("action",url);
                   var input1 = $("<input>");
                   input1.attr("type","hidden");
                   input1.attr("name","id");
                   input1.attr("value",id);
                   
                   var input2 = $("<input>");
                   input2.attr("type","hidden");
                   input2.attr("name","myqxD");
                   input2.attr("value",myqxD);
                   
                   $("body").append(form);
                   form.append(input1);
                   form.append(input2);
                   form.submit();
                   form.remove();
  
               }); 

 

标签:input2,异步,input1,浏览器,attr,form,ajax,var,userAgent
From: https://www.cnblogs.com/rdchen/p/16620978.html

相关文章

  • JS控制浏览器打印样式,分页及移除页眉页尾
    很简单,引入以下CSS即可:<style>/*分页符*/.print_gap{page-break-before:always;}.print_gap.gap_line{height:1px;background:#e5e5e5;margin:40pt030pt;......
  • 使用AssemblyScript在360浏览器下报错 SyntaxError: Unexpected reserved word
    背景最近在一个项目中使用了AssemblyScript,它能将类似于TypeScript的代码编译为WebAssembly,在其他浏览器都能正常使用,然而在360浏览器上却会报错:SyntaxError:Unexpected......
  • NetCore异步编程CancellationToken
    十年河东,十年河西,莫欺少年穷学无止境,精益求精关于异步编程,很久之前就写过一遍博客:asp.netcore系列5项目实战之:NetCore的async和await(参考自:Microsoft教程)今天继......
  • 在手机浏览器查看控制台信息
    问题描述:在开发H5项目时pc端可以通过F12查看控制台信息,如果在手机上运行就看不到,此时需要在入口文件index.html中加上两行代码就可以了如下:  核心代码:<scriptsrc......
  • 综合案例-黑马旅游网_异步提交表单和servlet代码实现
    综合案例-黑马旅游网_异步提交表单在此使用异步提交表单是为了获取服务器响应的数据因为前台使用的是html作为视图层不能够直接从servlet相关的域对象获取值只能通过aj......
  • PHP+AJAX实现异步上传文件
    文件上传功能是动态Web应用程序的常用功能。通常,php采用提交表单并刷新页面的方法上传文件。但是,如果您想提供更好的用户体验,则可以使用jQuery和Ajax来上传文件而无需刷新......
  • ajax笔记
    一、什么是AjaxAJAX(AsynchronousJavascriptAndXML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数......
  • 同步、异步、阻塞和非阻塞
    最开始看到这四个名词的时候,感觉很困惑,这不都一样吗?后来就查了查。最近又想起来这几个概念,发现记忆有些模糊,故写此博客。1.同步调用者调用被调用者,当调用者没有获取到......
  • 为什么浏览器的默认请求模式都是GET?
    因为get方式只是用于查询,不需要和数据库进行交互,同时一个get请求发送后,会在浏览器中留下缓存,下次访问同一url的话,get请求为了节省时间和空间就会直接走缓存,更加方便快捷......
  • 异步提交表单以及代码实现
    异步提交表单在此使用异步提交表单是为了获取服务器响应的数据。因为我们前台使用的是html作为视图层,不能够直接从servlet相关的域对象获取值,只能通过ajax获取响应数据......