1.问题背景:
之前下载,我都是使用get方式,也就是window.open打开新的标签页的方式,当传递给服务器的下载参数过多的时候,地址栏就会变得特别丑陋。
想在React中使用POST方式下载文件,无奈在网上搜到的React相关的资料过少,把自己经过探索后成功实践的案例与你分享。
2.解决方案:
在React中使用ReactDOM创建临时form表单,自动提交。
3. 解决步骤:
相信大家都是从网上搜到的JQuery代码写的传统处理方式,如下:
var questiontype = $('#QuestionType').combobox('getValue');//得到题型名称
var form = $("<form>"); //定义一个form表单
form.attr('style','display:none'); //在form表单中添加查询参数
form.attr('method','post');//设置或返回将数据发送到服务器的HTTP方法
form.attr('action', "GetExcel");
var input1 = $('<input>');
input1.attr('type','hidden');
input1.attr('name','exportPostTime');
input1.attr('value',questiontype);