使用ajax get请求下载序列化文件

时间:2015-10-14 08:48:28

标签: jquery ajax rest

我在发送ajax get请求时遇到了一个问题,即在java中下载由REST API提供的文件。

REST api

 @GET
 @Path("/{modelName}/export")
 @Produces(MediaType.APPLICATION_OCTET_STREAM)

API工作正常。问题在于我的ajax调用

  $.ajax({
                type: "GET",
                url: serverUrl+'/api/models/'+modelName+'/export',
                success : function(res){
                    alert("success");
                    console.log(res);
                },
                error : function(res){
                    alert("error");
                    console.log(res);                
                }
            });

执行此调用时,我需要下载文件。如何修改ajax调用呢?

我执行时会收到成功警报,并在控制台中打印一些随机字符串。

1 个答案:

答案 0 :(得分:1)

下载文件时,您不需要ajax。无论如何,浏览器确保文件下载异步。

您可以为此purpouse使用纯HTML:

<a href="YourPath">Download File</a>

但是如果你想用js获取文件,你可以这样做:

window.location.href = serverUrl+'/api/models/'+modelName+'/export';