CakePHP文件下载成功后刷新页面


CakePHP refreshing page after successful file download

CakePHP 2.4:我有一个项目列表的索引视图。通过这个页面上的一个按钮,我可以在"ProjectsController.php"中调用一个动作"exportxml"来下载一个包含所列项目信息的文件。下载成功完成后,我需要更改所有项目的状态。但是我找不到一个方法来做这件事。

保存文件后,请求得到响应,以下命令不再执行。

首先,我试图在cakephp中像往常一样呈现布局中的视图,并在布局文件中设置适当的头信息。然后我尝试在控制器的动作中输出缓冲和设置标题信息。但结果是一样的。ob_end_flush()之后的所有内容都不再执行。

至少我需要重新加载索引页来更改按钮,以便用户可以在成功下载后手动执行必要的操作。

有可能实现这个目标吗?

非常感谢你的任何提示!

可能不可能用两个不同的头来回答一个请求,一个是文件下载,一个是浏览器。我不敢肯定。

我找到了另一个解决方案。通过不添加头,可以将视图呈现给变量。我在第一步中这样做,然后将呈现的页面保存到服务器上的xml文件中。如果这样做没有错误,我将更改所有选定记录的状态。之后,我再次呈现相同的视图,但这次在另一种布局中添加了要下载的xml的标题。像这样,浏览器仍然没有更新,但至少我有一些控制,每件事都正确完成了。

也许这个答案可以帮助到遇到类似问题的人。