Я отправляю форму с помощью ajax, и после того, как форма отправлена, мне нужно скачать файл pdf, созданный на стороне сервера, с библиотекой php mpdf.Я не хочу сохранять файл pdf на сервере, потому что после того, как пользователь загрузит файл, он больше не нужен.Я искал в Google, и кто-то предлагает использовать объект Blob.Я также возвращаю ответ JSON, чтобы показать пользователю.Может кто-нибудь объяснить, возможно ли это и как этого добиться?большое спасибо
это мой код JavaScript:
$.ajax({
type: form.method,
data: $(form).serialize(),
dataType: 'JSON',
beforeSend: function() {
// Show loader
$(".loader").show();
},
success: function(response) {
// Hide loader
$(".loader").hide();
if (response.error_code == '200') {
// Add class alert danger to the message
$('.alert', $('.horizontal-form')).addClass('alert-success').show();
// Show error message
$('#error_message').html(response.error_message);
// Remove default validation error message from template
$('#error_message').get(0).nextSibling.remove();
// Remove class alert danger if was left by previous validation
$('.alert', $('.horizontal-form')).removeClass('alert-danger');
// reset form fields
form.reset();
// Scroll back to show success message
scrollTo(success, -200);
}
}
});
и это мой PHP-код
if(isset($_POST['userLetter'])){
header("Content-Type", "application/pdf");
// Render the view using twig and pass params to it
$html=$twig->render('/km-letters/km-letter-new-user.twig', array(
// Render user details on twig topbar
'prova' => 'pippo'
));
$mpdf->WriteHTML($html);
return $mpdf->Output('foobar-' . time() . '.pdf','D');
}
Также из ответа я получаю следующий заголовок и вижу pdf-файл:
Cache-Control
public, must-revalidate, max-age = 0 Connection
Keep-Alive Content-DescriptionПередача файлов Content-Disposition вложений;filename = "doc.pdf" Content-Transfer-Encoding
двоичный тип контента
application / pdf Дата
вс, 10 марта 2019 11:11:35 GMT истекает сб, 26 июля 1997 05:00:00 GMT Keep-Alive
время ожидания = 5, макс. = 99 Последнее изменение
Вс, 10 марта 2019 11:11:35 GMT Pragma
общедоступный сервер
Apache Transfer-Encoding
chunked XГенератор mPDF 7.1.9 X-Powered-By
PHP / 7.3.0
Но я также получаю следующий очень длинный строковый ответ:
XHRPOST http://router.kondomatica.me/km-users/createUser#[HTTP/1.1 200 OK 332ms]ЗаголовокCookieParametriRispostaTempiAnalisi dello stackPisload rispostax1JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL01lZwCAXIQHIQHIQHIQ1