如何从javascript中的window.location获取响应?

时间:2017-07-21 07:18:08

标签: javascript angularjs download save window

我遇到了这个问题:

我制作了一个REST应用程序,它根据我从控制器发送的数据创建一个文件。

我将文件保存在服务器上,然后让客户端下载它。

代码如下所示:

myAppFactory.exportData($scope.userId, $scope.selectedUserScript.scriptId, $scope.selectedUserPatient.patientId, 
            $scope.sDateMillis, $scope.eDateMillis, $scope.exportObject).success(function(data) {

                window.location = "rest/pName/download/" + $scope.userId + "/" +  data;

            //  deleteFile(data);
            });
}

我从服务中调用我的工厂,创建文件,完成后,该行:

window.location = ...

浏览器会自动让我下载文件。它打开保存对话框到(客户端)的下载文件夹。

这很好用,但这是我的问题。 从服务器下载特定文件后,我需要删除它。

我做了这个功能:

deleteFile = function(data) {
    myAppFactory.deleteFileFromDSS($scope.userId, data).success(function(data) {
            console.log("delete:" + data);
        })
}

在服务器端,所有函数都有它们的实现,但是我的问题是,因为它是来自angularJS的异步调用,所以函数delete通常在下载开始之前调用。

所以我试图从window.location函数得到一些响应,但我根本无法理解。

所以我需要的是:以某种方式从单击SAVE按钮获得响应并完成下载过程,并使用if语句完成工作

我希望你能解决我的问题,请帮助。

0 个答案:

没有答案