Здравствуйте! Извиняюсь если не по адресу задаю вопрос или похожая тема уже была. Нужна помощь квалифицированных программистов. Начал писать модуль для сайта (калькулятор услуг). Смысл его в том, что этот калькулятор с помощью PHP делает выборку из БД. Потом пользователь при помощи JavaScript собирает необходимый набор данных и получает HTML таблицу. (все на этой же странице). Затем при помощи ajax надо передать данные php-скрипту, который собирает и отдает пользователю на скачку PDF файл (организовано при помощи FPDF), а вместо файла получаю только набор символов. Хотя php код работает правильно и если обратиться к нему напрямую
http://Имя_сайта/exptopdf.php то можно получить файл. Как сделать так, что бы ajax только отдавал данные, а php отдал браузеру файл на скачку?.
вот так выглядит ajax (самый простой, какой только смог найти):
function set_cat(pid, cid) //входящие параметры
{
var ld = document.getElementById('loading');
ld.style.display = "block";
$.ajax({
type: "POST",
url: "exptopdf/exptopdf.php",
data: "id="+pid+"&cat="+cid,
success: function(msg){
$("#area").html(msg);
}
});
}
Это php скрипт, который генерирует PDF файл. Еще не дописал, но что-то он уже делает.
<?php
$id = $_POST["id"];
$cat = $_POST["cat"];
try
{
require('../FPDF/fpdf.php');
$pdf=new FPDF();
$pdf->AddPage();
$pdf->AddFont('Calibri','','calibri.php');
$pdf->SetFont('calibri','',16);
$pdf->Image('Header.png',10,10,-138);
$pdf->Ln(50);
$pdf->Cell(210,10,'Коммерческое предложение',0,2,'C');
$pdf->Ln(20);
$pdf->SetFillColor(233,233,233);
$pdf->SetDrawColor(118,118,118);
$pdf->SetLineWidth(.025);
$pdf->SetFont('calibri','',11);
$pdf->Cell(8,6,"№",1,0,'C',true);
$pdf->Cell(62,6,"Наименование",1,0,'C',true);
$pdf->Cell(25,6,"Количество",1,0,'C',true);
$pdf->Cell(28,6,"Цена",1,0,'C',true);
$pdf->Cell(28,6,"Сумма",1,0,'C',true);
$pdf->Cell(38,6,"Примечание",1,0,'C',true);
$pdf->Ln();
$pdf->Cell(189,6,"Благоустройство",1,0,'C',true);
$pdf->Ln();
$pdf->Cell(8,6,"№",1,0,'C',true);
$pdf->Cell(62,6,$id,1,0,'C',true);
$pdf->Cell(25,6,$cat,1,0,'C',true);
$pdf->Cell(28,6,"Цена",1,0,'C',true);
$pdf->Cell(28,6,"Сумма",1,0,'C',true);
$pdf->Cell(38,6,"Примечание",1,0,'C',true);
$pdf->Ln();
$pdf->SetCreator('Automatically created document');
$pdf->SetTitle('Offer');
$pdf->SetKeywords('Коммерческое предложение, предложение, offer, comercial offer');
$pdf->Output('Offer.pdf','D');
}
catch(Exception $ex)
{
echo $ex;
}
?>
Единственное, что удалось получить:
