JQuery — с помощью PHP, чтобы показать PDF-файл?

Я пытаюсь использовать php для проверки переменных формы, и, если все получится, предоставьте пользователю документ pdf, хранящийся на моем сервере в той же директории, что и мой файл php. Код, который я использую, работает, то есть он загружает PDF-файл на компьютер пользователя, но не отображает его автоматически. Я хотел бы сделать это так, если моя проверка проходит успешно, пользователь перенаправляется в PDF-документ. Если моя проверка не пройдена, пользователю выдается сообщение об ошибке.

Я даже пытался использовать jQuery для публикации данных формы в надежде, что он вернет PDF пользователю, но это не работает.

Кто-нибудь знает, как добиться того, что я ищу?

Мой HTML:

<form name="mileage" action="test.php" method="post">
<button type="button">Mileage Reimbursement Log</button>
Email Address: <input type="text" name="email" id="email"/><br>
<input type="submit" value="Login" title="login"/>
</form>

Мой PHP:

<?php
$myEmail = $_POST['email'];

if($myEmail == "test"){
header('Content-type: application/pdf');
header("Content-disposition: attachment; filename=Mileage-Reimbursement-Log.pdf");
readfile("Mileage-Reimbursement-Log.pdf");
}else{
echo "sorry";
}
?>

Мой jQuery, который я попробовал:

$('form').submit(function() {
if($('#email').val() != ''){
$.post('test.php', $("form[name=mileage]").serialize(), function(data) {
}).error(function(){
alert("Error submiting the form");
});
}else{
alert("No Email Address");
return false;
}
});

0

Решение

Не нужен код JQuery. Заменить вложение встроенным

header('Content-type: application/pdf');
header("Content-disposition: inline; filename=Mileage-Reimbursement-Log.pdf"); // Change attachement by inline
readfile("Mileage-Reimbursement-Log.pdf");
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]