【发布时间】:2014-06-16 11:50:52
【问题描述】:
是否可以将数组作为参数发送给函数?在网上搜索了这个,但没有进一步帮助我。这就是我所拥有的:
在我的树枝上我有:
<a id="exporttocsv" href="{{ path('dashboard.index', {'data': tableresults|json_encode}) }}" class="btn btn-default">Export to CSV</a>
在我的控制器中:
public function exporttocsvAction(Application $app, Request $request, $data)
{
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=test.csv");
header("Pragma: no-cache");
header("Expires: 0");
$output = fopen("php://output", "w");
foreach ($data as $row)
{
fputcsv($output, $row, ',');
}
fclose($output);
exit();
}
但是当我点击我的按钮时,我的链接会变成这样并且只是刷新:
可以发送数组吗?或者我应该使用 ajax 调用并发送数据吗?
【问题讨论】:
-
您想通过 HTTP 向您的 Action 发送一个数组 对吗?但是现在您正在附加参数 json 编码,并且出于某种原因您不想在 Action 中对其进行解码?您不能将结果保存在会话中并在您的操作中使用该数据吗?
-
没有 |json_encode 的结果是一样的。好的,但是使用 ajax 调用不是更容易吗?
-
使用 ajax 调用如何更容易?您的数据在后端某处呈现/计算,因此可以存储在会话中。然后,您可以为将会话数据转换为 CSV 的操作提供临时下载链接。
标签: php arrays symfony twig silex