2011-05-11 4 views
1

코드가있는 경우이 작은 조각이 있습니다.다운로드 아약스와 iframe을 통해?

$.post('exportToExcel.php', function(data) { 

    var iframe = document.createElement("iframe"); 
    iframe.src = ""+data; 
    iframe.style.display = "none"; 

    document.body.appendChild(iframe); 
}); 

그러나 아무 것도 발생하지 않고 jquery의 ajax를 통해 서버에서 파일을 완벽하게 다운로드하려고합니다.

누구든지 좋은 해결책을 찾았습니까?

답변

2

사용자를 파일로 안내하려는 경우 일반 링크를 사용하거나 location.href = 'my_url';을 사용하여 브라우저를 직접 보내야합니다.

정말로이 방법을 '원활한'방법으로 사용하려면 AJAX POST를 사용하지 마십시오. exportToExcel.php (iframe)으로 바로 연결하면됩니다.

exportToExcel.php는 POST의 사용을이 필요한 경우 iframe 볼 수 있도록하고 exportToExcel.phpGET를 통해 호출 될 때, 클릭 한 iframe와, 같은 크기 인 '다운로드'버튼을 제공, 일반 HTML 양식을 제출 POST를 통해 동일한 URL로 이동하십시오.

+0

위의 코드와 다른 점은 무엇입니까? – Jason94

+0

나의 세 번째 예제의 차이점은'iframe'과 그냥 일반 HTTP를 사용한다는 것입니다. JS 또는 AJAX가 필요하지 않습니다. 그러나 자동으로 버튼을 클릭하거나 POST 양식을 제출하는 프레임 페이지에 일부 JS를 넣을 수 있습니다. – BoffinbraiN

관련 문제