У меня есть 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();
Спасибо за любую помощь!
все в том же файле? – 0x13a
@DiegoMariani Нет - javascript находится в файле главной страницы, а PHP-код - всего лишь фрагмент из файла PHP, который извлекает данные и загружает файл. – Jason
С вызовами Ajax функция 'header()' не будет работать. Вместо этого используйте переадресацию JavaScript. – Rehmat