2012-11-09 2 views
0

PHP 코드에서 CSV 파일을 다운로드하고 있지만 내 Ext JS 페이지로 돌아 오지 않습니다. 내 코드는 다음과 같습니다 :성공 함수가 Ext JS 양식에서 작동하지 않습니다.

내선 JS 코드

Ext.getCmp('btnExport').on('click', function(button, event)  
{  
    Ext.getCmp("frmReportQuotes").getForm().standardSubmit = true;  
    Ext.getCmp('frmReportQuotes').getEl().dom.method = 'POST';  
    Ext.getCmp('frmReportQuotes').getEl().dom.target = '_blank';   
    Ext.getCmp('frmReportQuotes').getForm().submit({   
     params: {  
      output: 'csv'  
     },  
     success: function(form, action){   
      alert('jjkjlkj');   
     },  
     failure: function(form, action){  
      alert('jjkjlkj');   
     }  
    });  
}); 

내 내선 JS 파일에 다시 반환하도록

if (!empty($strOutputType) && $strOutputType == 'csv')  
{  
    header("Content-type: text/csv");  
    header("Content-Disposition: attachment; filename=data.csv");  
    header("Pragma: no-cache");  
    header("Expires: 0"); 

    if (!empty($entRequestList))  
    { 
     $arrKeys = array(); 

     foreach ($this->view->Data[0] as $key => $value)  
      $arrKeys[] = $key; 

     echo '"' . implode('","', $arrKeys) . '"' . "\n";   

     foreach ($this->view->Data as $entRow) 
     { 
      $strCSV = '"' . implode('","', $entRow) . '"'; 
      $strCSV = preg_replace("[\n\r]", " ", $strCSV); 
      echo $strCSV . "\n"; 
     } 
    } 

    die(); 
} 

이, 도와주세요 PHP 코드.

+0

사람들이 코드를 디버깅하는 곳이 아닙니다. 알아낼 수없는 특정 문제를 확인한 다음 질문하십시오. 이미 시도한 것을 사람들에게 보여주고 단계를 나열하십시오. 기본 디버깅. –

+0

답변이 도움이 되셨습니까? – dbrin

답변

0

문제는 CSV 파일 첨부 파일을 반환하는 경우 ajax 요청 처리기가 처리 할 수 ​​없다는 것이므로 성공 함수가 실행되지 않을 것으로 예상됩니다. 워드 프로세서에서 또한

은 :

true로 설정하면
standardSubmit : Boolean 

, 표준 HTML 양식 대신 XHR (아약스) 스타일 양식 제출의 사용 제출합니다.

이는 js 콜백이 수행되지 않음을 의미합니다.