問題は、以下の方法を使用しているときにURL全体が表示されていることです。たぶん、hrefのGET要求のためです。私はこれを避けたいと思うし、私はPOST要求をしたい。パラメータを渡すとhref(アンカータグ)リクエストがGETの代わりにPOSTを要求する
index.htmlを
<a id="ccviewMiniStatementId">View mini statement</a>
nonFinancial.js
$('#ccviewMiniStatementId').click(function(event) {
var ccMonthVal=$("#ccMonthId").val();
var ccYearVal=$("#ccYearId").val();
var cCRefNumId=$("#cCRefNumId").val();
var errExpVal = validateCcExpiry();
if (errExpVal==false)
{
event.preventDefault();
return false;
}
// I am passing values to my controller and there it is GET
//because POST is not supported. I want to make it POST.
$("#ccviewMiniStatementId").attr("href", "getpdfcreditcard?month="+ccMonthVal+"&year="+ccYearVal+"&cCReferenceNo="+cCRefNumId);
$("#pdfViewer").submit();
});
マイコントローラNonFinancial.java
@RequestMapping(value="/getpdfcreditcard", method=RequestMethod.GET, params = {"month","year","cCReferenceNo"})
public ResponseEntity<byte[]> getPDF(@RequestParam(value="month", required = true) String month,
@RequestParam(value="year", required = true) String year,
@RequestParam(value="cCReferenceNo", required = true) String cCReferenceNo,
HttpServletResponse response) throws IOException, SQLException {
logger.debug("month/year/cCReferenceNo: "+month+"/"+year+"/"+cCReferenceNo);
}
だから私は望む:私はアンカータグをクリックしているときには、POSTを行う必要があります。それ、どうやったら出来るの?私はあなたがjQueryのを使用しているよう<form></form>
私がajaxを使用すると、pdfはcontoller thatsから生成されません。なぜ私はajaxを使用していません。 –
@RahulKhanna Ajaxを必要としない場合は、フォームを動的に生成して送信することができます。 – modernator