1

我有一个下拉菜单,我从中选择一个文件类型,然后我希望它在一个页面上触发,该页面根据选择的内容生成一个文件并强制使用headerphp.ini 下载它。这是jQuery。

$('#exportdropdown').change(function(){
var searchinput = $('#searchinput').val();
var maxrec = $('#navdropdown option:selected').text();
    $('.loadCont').fadeIn();
    if($('#importbutton').hasClass('clickedButton')){
        $.get('export.php', {filter: 'import', maxrecords: maxrec, type: 'xls'});
    }else{
        $.get('export.php', {filter: 'export', maxrecords: maxrec, type: 'xls'});
    }
    $('.loadCont').delay('600').fadeOut();
});

我目前正在强制使用该类型进行测试,但它似乎并没有按我的预期工作。当您使用以下数据处理文件时,export.php?filter='import'&maxrecords=15&type='xls'它会强制下载正常。只是不使用 jQuery 方法。有什么明显的东西能让更有经验的人脱颖而出?

4

2 回答 2

3

Ajax 在这里毫无意义,您所做的只是请求一个将文件推送到浏览器的链接。尝试:

window.location.href = "export.php?filter=" + filter + "&maxrecords=" + maxrecords + "&type=" + type;
于 2012-04-12T15:30:19.080 回答
0

在我的几个项目中,我正在做类似但完全不同的事情:)。

在下拉单击时,我将打开新窗口并在那里执行 karim79 代码(例如在身体负载上)。所以

  1. 点击下拉项目
  2. 使用适当的参数打开新窗口,例如:
    window.open ("newindow.html?filter=" + filter + "&maxrecords=" + maxrecords + "&type=" +  type"); 
//this is not tested, but you got the point
  1. 在 body 的 onload 事件上执行:
window.location.href = "export.php?filter=" + filter + "&maxrecords=" + maxrecords + "&type=" + type";

或类似的东西。

于 2012-04-12T15:40:20.560 回答