我想在浏览器的新空白处打开pdf文件:
String sCommand = GWT.getHostPageBaseURL() + "requiredPDF?vCompanyName="+ companyName + "&" +
"vCurDate=" + new Date().getTime() + "&" +
sTitle +
"vReportType=" + rt.reportType +"&" +
"vChartType=" + rt.iChartType +"&" +
sParameters +
"vDetalization=" + rt.detalization + "&" +
"vGroup=" + getCheckedGroups();
Window.open(sCommand,"", "");
这很好用。但是,我想使用doPOST方法,据我所知,Window.open()只能用于doGET方法。我已经为doPOST寻找了一些问题,但它们没有在新浏览器的空白/窗口中打开结果。
如何使用doPOST
方法在新浏览器的空白处显示结果?
UPD。我将我的代码更改为与doPOST绑定而不是window.open(),但没有任何事情发生
String sURL = GWT.getHostPageBaseURL() + "requirePDF";
String sData = "vCompanyName="+ companyName + "&" +
"vCurDate=" + new Date().getTime() + "&" +
sTitle +
"vReportType=" + rt.reportType +"&" +
"vChartType=" + rt.iChartType +"&" +
sParameters +
"vDetalization=" + rt.detalization + "&" +
"vGroup=" + getCheckedGroups();
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, sURL);
builder.sendRequest(sData, new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
FormPanel formPanel = new FormPanel();
formPanel.setAction(GWT.getHostPageBaseURL() + "requirePDF");
formPanel.setMethod(FormPanel.METHOD_POST);
//formPanel.submit();
formPanel.setVisible(true);
rt.add(formPanel);
}
@Override
public void onError(Request request, Throwable exception) {
MessageBox.alert("Request error","The page doesn't open", null);
}
});