【发布时间】:2012-09-24 13:16:29
【问题描述】:
我有一个通过 POST 方法调用的网络服务:
@Path("/ficheAction/")
@POST
@Consumes({ MediaType.APPLICATION_JSON })
@Produces("application/pdf")
public Response ficheAction(final ParamSyntheseFicheActionDto paramSyntheseFicheAction) throws EngineException {
[...]
return Response.ok(output.toByteArray(), "application/pdf")
.header("content-disposition", "attachment; filename = " + name + ".pdf").build();
}
此网络服务使用我的 js 中的参数(Json):
[...]
$.ajax({
url : webServiceUrl,
//
type : "POST",
// Content type to send to the server
contentType : "application/json; charset=utf-8",
data : pData,
dataType : "json",
success : pCallback,
cache : false,
});
网络服务可以正常工作,但在客户端,导航器无法打开文件 (pdf)。
我用 GET 而不是 POST(简化属性)进行了测试,它可以工作,但不能在 POST 中... 当我在 chrome 调试中查看 web 服务的响应时,我可以看到有一个以“%PDF-1.5”开头的响应...但是下载没有开始...
我做错了什么?
【问题讨论】:
标签: java jquery web-services post