使用jQuery加载页面但不加载到容器div中

时间:2012-04-12 15:26:41

标签: php jquery

我有一个下拉菜单,我选择了一个文件类型,然后我希望它根据所选内容生成一个文件,并强制在php中使用header下载它。这是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方法。有什么明显的东西对经验丰富的人来说很突出?

2 个答案:

答案 0 :(得分:3)

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

window.location.href = "export.php?filter=" + filter + "&maxrecords=" + maxrecords + "&type=" + type;

答案 1 :(得分:0)

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

在下拉列表中单击我将打开新窗口并执行karim79代码(例如在体载上)。 SO

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

或类似的东西。