我将从spring控制器重定向到外部URL,此操作必须是POST类型。
我的控制员:
@ResponseBody
@RequestMapping(value = "/purchase", method = RequestMethod.POST)
public ModelAndView purchase(@RequestParam(value = "RefId", required = true) String RefId){
String url="https://bpm.shaparak.ir/pgwchannel/startpay.mellat?RefId=" + refId;
RedirectView redirectView = new RedirectView();
redirectView.setUrl(url);
return new ModelAndView(redirectView);
}
我应该在GET中创建POST请求但是这个动作。
答案 0 :(得分:0)
RedirectView类已经创建了GET操作,它无法发出POST请求。
我将refId放在ModelMap对象中并重定向到jsp。
map.put("refId", refId);
因此,当页面加载后,创建帖子请求表单提交。
$(document).ready(function () {
if (${not empty refId}) {
var refId = ('${refId}');
document.getElementById('bank-card-form').action = 'https://bpm.shaparak.ir/pgwchannel/startpay.mellat?RefId=' + refId;
document.getElementById('bank-card-form').submit();
}
});
在我的jsp中添加了银行卡形式
<form method="post" id="bank-card-form"
style="display: none" autocomplete="off">
</form>