РЕДАКТИРОВАТЬ Я только что понял, что мне нужно json_encode
fromDate, который я передаю в качестве аргумента URL в вызове AJAX.Поэтому мне нужно использовать
url: 'json-responses.php?fct=exportTo...ByDate®Date=' + <?php echo json_encode($fromDate) ;?>
вместо
url: 'json-responses.php?fct=exportTo...ByDate®Date=' + <?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®Date= + <?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'