书接上文,上午遇到error parsing http request header问题,用ajax传对象可以解决问题,但文件下载只能用location.href,传参数如果有中文又有可能出现问题,所以上午想的办法是如果有中文先进行转码,但这个方法确实不好,下午看到有人写了一个思路,将参数利用js做成表单,用表单提交方法代替location.href,方法还是比较巧妙,比转码好得多,具体代码如下
function createFormForExport(url,params) {
// 创建Form
var form = $('<form></form>');
// 设置属性
form.attr('action', url);
form.attr('method', 'post');
for (var item in params) {
// 创建Input
var formInput = $('<input name="' + item + '" type="hidden" value="' + params[item] + '" />');
// 附加到Form
form.append(formInput);
}
$(document.body).append(form);
// 提交表单
form.submit();
form.remove();
}
params是一个js对象,就酱