短版本: $ http请求在桌面上运行良好,在移动设备上失败
在Angular控制器中,我对资源进行了$ http GET调用,该资源返回以下响应头:
Access-Control-Allow-Origin:*
Cache-Control:must-revalidate, post-check=0, pre-check=0
Connection:Keep-Alive
Content-Description:File Transfer
Content-Disposition:attachment; filename=verses.json
Content-Length:1392
Content-Transfer-Encoding:binary
Content-Type:application/octet-stream
Date:Sun, 16 Aug 2015 23:13:18 GMT
Expires:0
Keep-Alive:timeout=5, max=100
Pragma:public
Server:Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16
X-Powered-By:PHP/5.4.16
正如您在此JSFiddle中所看到的,响应被识别为JSON。
然而,如果您在移动设备上加载相同的JSFiddle,则无法返回。我查看了$ http的transformResponse,但是文档很稀疏,我找不到有人试图得到我得到的东西的例子。有一些将JSON响应转换为可下载文件的示例,但我正在寻找相反的结果。
我知道明显的解决方案是要求API返回application / json而不是application / octet-stream,但在此之前,我会感激任何帮助或只是指出我正确的方向。谢谢!