问题描述
我使用symfony 5,并且有一个包含会员详细信息的页面。我现在希望能够从会员中导出地址数据。为此,我在页面上有一个按钮,可通过AJAX在我的控制器中调用一个函数。如果我直接调用该站点,那么我会得到“保存文件”窗口,因此即使我不确定100%肯定也要在控制器中做正确的事情。实际上,我确实想强迫它自动将文件保存在客户端的特定文件夹中,而不是我手动进行,并且我确实希望仅通过AJAX按钮单击即可,但这似乎不起作用。我在哪里出错了?
myjs.js
$('#exportaddress').on("click",function(){
$.ajax({
type: 'post',url: "/export-address",success: function (response) {
}
});
});
mycontroller.php
/**
* @Route("/export-address",name="export_address")
*/
public function memberExport(){
$memberId= '123';
$em = $this->getDoctrine()->getManager();
$memberData = $em->getRepository(Member::class)->getAddressData($memberId);
$encoders = [new XmlEncoder(),new JsonEncoder()];
$normalizers = [new ObjectNormalizer()];
$serializer = new Serializer($normalizers,$encoders);
$jsonContent = $serializer->serialize($order,'xml',['groups' => 'address_data']);
return new Response($jsonContent,200,array(
'Content-Type' => 'application/force-download','Content-Disposition' => 'attachment; filename="export.xml"'
));
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)