我在发送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调用呢?
我执行时会收到成功警报,并在控制台中打印一些随机字符串。
答案 0 :(得分:1)
下载文件时,您不需要ajax。无论如何,浏览器确保文件下载异步。
您可以为此purpouse使用纯HTML:
<a href="YourPath">Download File</a>
但是如果你想用js获取文件,你可以这样做:
window.location.href = serverUrl+'/api/models/'+modelName+'/export';