编辑我刚刚意识到我必须将json_encode
作为AJAX调用中URL的参数传递给fromDate。所以我需要使用
url: 'json-responses.php?fct=exportTo...ByDate®Date=' + <?php echo json_encode($fromDate) ;?>
而不是
url: 'json-responses.php?fct=exportTo...ByDate®Date=' + <?php echo $fromDate ;?>
我从jqx.dataAdapter
获取了错误的网址,您可以在不先json_encode
的情况下传递日期。 Excel导出仍然无法正常工作,但我设法从dB获取请求的数据并将其输出到页面上
修改-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-responses.php
if ($_GET['fct'] == 'exportToExcelMembersByDate')
{
$result = exportToExcelMembersByDate($connectionObject, $_GET['regDate']);
echo $result;
}
但是当我点击按钮时没有任何反应。在AJAX我尝试过。
async: true/false
dataType: json/txt/html
type: 'POST'/'GET'