location.assign()vs $ http

时间:2014-07-30 04:49:39

标签: javascript angularjs http hapijs

我的服务器上有一条用于提供下载文件的路由。由于应用程序的性质,我无法链接到任何文件。相反,浏览器客户端向服务器请求文件,服务器又从节点客户端请求文件,该节点客户端将数据返回给服务器。此时,服务器保存文件并通知呼叫者浏览器准备好请求的文件。我在前端使用角度并请求我尝试使用$http.get()的文件,在chrome的开发工具中我可以看到请求成功发生但文件无法下载。在angular之外键入链接地址将下载该文件。反过来,我最终使用$window.location.assign(url),这确实有效。任何人都可以解释为什么assign()工作而不是$http.get()?有什么区别?

由于

1 个答案:

答案 0 :(得分:0)

您无法使用AJAX请求下载文件或更好地说XHR ... Angular在拨打电话时会使用此功能。

请参阅:Why threre is no way to download file using ajax request?

最简单的方法就是坚持你现在正在做的事情或者使用一些第三方效用。