Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在客户端创建的Blob不';无法使用新数据进行更新_Javascript_Angularjs_Laravel_Blob_Filesaver.js - Fatal编程技术网

Javascript 在客户端创建的Blob不';无法使用新数据进行更新

Javascript 在客户端创建的Blob不';无法使用新数据进行更新,javascript,angularjs,laravel,blob,filesaver.js,Javascript,Angularjs,Laravel,Blob,Filesaver.js,我正在创建一个angularjs/laravel应用程序,我需要实现一个将某些数据导出到PDF的功能。PDF在后端使用生成,并作为GET请求的结果发送到angular。我还使用来处理在请求成功回调时保存文件。到目前为止,代码看起来像这样 function (response) { var data = new Blob([response.data], { type: 'application/pdf' }); console.log(data); FileSave

我正在创建一个angularjs/laravel应用程序,我需要实现一个将某些数据导出到PDF的功能。PDF在后端使用生成,并作为GET请求的结果发送到angular。我还使用来处理在请求成功回调时保存文件。到目前为止,代码看起来像这样

function (response) {
     var data = new Blob([response.data], { type: 'application/pdf' });
     console.log(data);
     FileSaver.saveAs(data, 'balance.pdf');
}

这个很好用。正确生成并保存PDF。问题是,当我更新数据时(任何CRUD操作-也正确执行),然后调用导出函数再次保存PDF时,它会与旧数据一起保存。console.log(data)行显示Blob总是以相同的大小创建的(我不知道为什么,因为我使用了new关键字,所以我在内存中创建了一个新对象,除非我弄错了)。为了获得包含更新数据的PDF,我必须手动刷新浏览器,这违背了SPA的目的,也让用户感到困惑。如果有人能提供任何关于为什么会发生这种情况的提示,我将不胜感激。提前感谢

问题已解决,问题在于$http请求的配置中设置了缓存属性。我之前已经设置了它,以减少服务器上的负载,以防出现许多连续的请求

您是否检查了来自ajax的response.data或后端生成的pdf是否准确?@ARIFMAHMUDRANA pdf是否准确。正如我所说,导出的功能运行良好。我得到一个正确的PDF作为结果,这是下载。问题是,如果我更改数据并再次触发下载,PDF不会得到更新。如果我手动刷新浏览器并触发下载,那么我将获得正确的数据