Возврат данных в AJAX-запросе

209
17 августа 2018, 07:40

В ajax-запросе я обрабатываю с помощью php-скрипта текст.

$parsedown = new Parsedown();
            $htmlReady = $parsedown->text($_REQUEST["text"]);
            $dompdf = new Dompdf();
            $dompdf -> loadHtml($htmlReady);
            $dompdf -> render();
            $data = $dompdf -> output();
            $urlpdf = $_SERVER["DOCUMENT_ROOT"]."/upload/pdfFiles/example1223.pdf";
            file_put_contents($urlpdf, $data);

т.е. из текста возвращаю PDF файл, но мне нужно в результате вернуть путь до этого файла, чтобы в дальнейшем реализовать скачивание. Путь - в переменной $urlpdf. Как это можно сделать?

Answer 1

из текста возвращаю PDF файл, но мне нужно в результате вернуть путь до этого файла, чтобы в дальнейшем реализовать скачивание. Путь - в переменной $urlpdf. Как это можно сделать?

Прописать в php скрипте:

echo json_encode(["path"=>$urlpdf]);

А дальше, обработать на клиентской части.

Нужно вставить результат возврата с сервера в этот линк:

<a href="path_to_file" download="your_file_name_with_extension">Download</a>

UPD:

//---------------------------------------------------------------- 
// 
var url = 'your_url'; 
fetch(url) // By default sends GET 
  .then(response => response.json()) 
  .then(json => { 
    var path = json.path; // Ваш путь к файлу 
    var res = document.querySelector('.res'); 
    var a = document.createElement('a'); 
    // Путь к файлу 
    a.setAttribute('href', path) 
    // Название файла с расширением 
    var file_name = path.slice(path.lastIndexOf('/') + 1, path.length) 
    a.setAttribute('download', file_name) 
    a.innerText = 'Download'; // Линк  
    res.appendChild(a) 
 
  }) 
  .catch(err => console.log(err)) 
 
//----------------------------------------------------------------
<!-------- HTML --------> 
<div class="res"></div>

READ ALSO
Php вырезает параметры url при редиректе

Php вырезает параметры url при редиректе

как сделать чтобы php не обрезал параметры строки, сейчас после редиректа получается он обрезает конец строки и &site=123 не попадаетПодсказывают...

149
Ошибка в плагине CurrencyConverter в WP

Ошибка в плагине CurrencyConverter в WP

Как исправить ошибку cURL error 28: Connection timed out after 5000 milliseconds

178
Скрывать div в AJAX

Скрывать div в AJAX

Есть код регистрации с помощью AJAXПо условию должно выводить #div1 если логин и пароль не правильно введены ,а "#result1","#result2" скрывать и наоборот...

163
Обработка JSON на java

Обработка JSON на java

Есть 2 json-файлаНеобходимо преобразовать их массивы, сравнить некоторые параметры, преобразовать 1-ый массив и создать на основе него 3-ий json-файл

206