2015-10-14 62 views
1

我在发送ajax get请求以下载由Java中的REST API提供的文件时遇到问题。使用ajax获取请求下载序列化文件

的REST API

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

的API工作正常。问题是我的阿贾克斯电话

$.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调用?

我在执行它时获得了成功警报,并且在控制台中打印了一些随机字符串。

+0

请看到的问题是:http:/ /stackoverflow.com/questions/4545311/download-a-file-by-jquery-ajax –

回答

1

当您下载文件时,您不需要ajax。无论如何由浏览器导致文件下载异步。

您可以使用普通的HTML这个purpouse:

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

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

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