我想问一下,如果已经发送了返回,是否有人知道重定向用户的方法。
在我的情况下,我努力做到以下几点。浏览器会生成pdf文件并将其作为下载文件发送。但在发送后,我仍然想重定向,因为数据库记录会在这个过程中更新。
我在控制器中的代码如下:
session::flash('informationmessage', 'The labour entries were billed');
return $pdf->download();
redirect('admin/customers');
任何帮助都将不胜感激,
不,你不能。由于重定向是由客户端完成的,所以它是由服务器端生成的一个小js代码。请求完成后,连接将关闭。服务器端无法再向浏览器发送信息。您可以尝试打开一个新的选项卡进行下载,然后重定向主选项卡。
简而言之,这是不可能的。正如您所说,在重定向之前,您已经返回了一个响应。
使用jquery filedownloader下载文件,因为它处理ajax请求,所以下载后可以进行任何进一步的处理,无论是新的响应还是新的请求。。。有关http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/
的更多信息