2016-02-02 5 views
0

У меня есть PHP-скрипт, который позволяет пользователю загружать файл. Он отлично работает, если я создаю стандартную кнопку в моей форме и, в ответ на пост, вызовет скрипт PHP. Тем не менее, я пытаюсь, чтобы кнопка вызывала некоторый Javascript, который затем использует AJAX для вызова PHP-скрипта. Я не получаю никаких ошибок, но файл не загружается.PHP Загрузить через AJAX

//JAVASCRIPT 
<script type="text/javascript"> 
function downloadForm() 
{ 
    var data = {ipAddress : "<?php echo $ipAddress; ?>", userID : "<?php echo $userID; ?>"}; 
    jQuery.ajax({ 
     url: "/download-form-internal.php", 
     type:'POST', 
     data: data, 
     dataType: 'html', 
     success: function(result){ 

     },   
    }); 
} 
</script> 

//PHP CODE SNIPPET 
header('Content-Description: File Transfer'); 
header('Content-Type: application/pdf'); 
header('Content-Disposition: attachment; filename='.$FILENAME); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 
ob_clean(); 
flush(); 
echo $fileToDownload; 
exit(); 

Спасибо за любую помощь!

+0

все в том же файле? – 0x13a

+0

@DiegoMariani Нет - javascript находится в файле главной страницы, а PHP-код - всего лишь фрагмент из файла PHP, который извлекает данные и загружает файл. – Jason

+0

С вызовами Ajax функция 'header()' не будет работать. Вместо этого используйте переадресацию JavaScript. – Rehmat

ответ

0

У вас есть success: function, возможно, вам нужно добавить error: function, чтобы увидеть ошибки.

А также почему вы отправляете echo и перед отправкой заголовок! Сначала нужно отправить заголовку.

Смежные вопросы