PHPExcel下载和JS返回form.submit



我正在调用PHP脚本生成excel文件,然后在飞行中下载它

 header('Content-Type: application/vnd.ms-excel');
 header("Content-Disposition: attachment;filename=iva.xls");
 $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 
 $objWriter->save('php://output');
在这段代码之后,我以: 结束
 $aReturn[]= array('result'=>true);
 exit(json_encode($aReturn));

在第一个时刻,我开始调用这个PHP使用提交按钮…然后(试图得到一个进度条)我决定调用这个php使用javascript与以下代码:

 $.messager.progress(); 
   var urlProtax="taxes/processtax.php?start=" + cStartDate + '&end='+ cEndDate ;
   $('#taxesForm').form('submit',{
         url: urlProtax,
         onSubmit: function(datt){
             var isValid = $(this).form('validate');
             if (!isValid){                           
                 $.messager.progress('close');                         
             }
             return isValid;
         },
         success: function(jdatos){
             alert('alert data '+ jdatos);
             data = eval('('+jdatos+')');
             if(data[0]['result']===true){
                 $.messager.progress('close');
                 $('#taxesWin').window('close');
                 return true;
             }else{
                 $.messager.progress('close');
                 var iderror = data[0]['error'];
                 $.messager.alert("ERROR (" + iderror +")" , gt.gettext('Unknown Error'), 'error'); 
                 $('#taxesWin').window('close');
             }
         },
         error: function(xhr) {
         alert('Error! Status = ' + xhr.status);}
 });

Excel文件正在创建良好!!但是我从来没有得到json响应关闭进度条。

亲切的问候,

Excel文件是二进制文件,JSON不直接支持二进制格式。如果使用CSV

之类的ascii格式,效果可能会更好

最新更新