AJAX призывает экспортировать данные в Excel - PullRequest
0 голосов
/ 24 мая 2018

РЕДАКТИРОВАТЬ Я только что понял, что мне нужно json_encode fromDate, который я передаю в качестве аргумента URL в вызове AJAX.Поэтому мне нужно использовать

url: 'json-responses.php?fct=exportTo...ByDate&regDate=' + <?php echo json_encode($fromDate) ;?>

вместо

url: 'json-responses.php?fct=exportTo...ByDate&regDate=' + <?php echo $fromDate ;?>

. Я взял неправильный URL-адрес из jqx.dataAdapter, где вы можете передать дату без json_encode первого.Экспорт в Excel все еще не работает, но мне удалось получить запрошенные данные из дБ и вывести их на страницу EDIT-END

на существующей веб-странице. Я пытаюсь реализовать кнопку, которая экспортируетданные в Excel.Сначала я попытался создать простой php-файл со следующим кодом

source.php

<form method="post" action="export.php">
    <input type="submit" name="export" value="Export" />
</form>

, файл export.php содержит необходимые данные PDO .dsn, а затем вызываетэкспорт function exportToExcelMembersByDate($PDOdbObject, $regDate)

export.php

exportToExcelMembersByDate($pdo, "2013-09-12");

function exportToExcelMembersByDate($PDOdbObject, $regDate)
    {
    .
    .
    .
    header('Content-Type: application/xls');
    header('Content-Disposition: attachment; filename=download.xls');
     echo $output;
    }

$output содержит таблицу в <html>.Когда я нажимаю кнопку, я сразу же получаю всплывающее окно с вопросом, хочу ли я сохранить или открыть файл Excel.

Теперь я хотел реализовать то же решение в существующей среде.Я копирую функцию exportToExcelMembersByDate в существующую data-layer.php

на соответствующей веб-странице. У меня есть следующее

Source.php

<?php
    $fromDate = $_POST['fromDate'];
?>
<script>
     $("#export").click(function ()
     {
        exportToExcel();
     }
        );

     function exportToExcel()
     {
        $.ajax({
            type: 'GET',
            dataType: 'html',
            url: 'json-responses.php?fct=exportToExcelMembersByDate&regDate= + <?php echo $fromDate ;?>,
        })
     } 
</script>

<div> 
    <input type="button" id="export" value="Export to Excel" />
</div>

json-response.php

 if ($_GET['fct'] == 'exportToExcelMembersByDate')
    {   
        $result = exportToExcelMembersByDate($connectionObject, $_GET['regDate']);
        echo $result;
    }

Но здесь, когда я нажимаю на кнопку, ничего не происходит.В AJAX я попробовал.async: true/false dataType: json/txt/html type: 'POST'/'GET'

...