我正在尝试使用按钮(不一定是为了提交的目的)和onclick我想调用spring mvc的控制器方法,其requestmethod类型应该是POST而不是GET。
<input type="button" onClick="location.href='/result'"/>
这是我的控制器方法,在点击时被调用。
@RequestMapping(value="/result")
public ModelAndView postPrintHello(@ModelAttribute("product") Product product){
ModelAndView model = new ModelAndView();
model.addObject("product", product);
model.setViewName("result");
return model;
}
但是当我添加RequestMethod.POST时,它不会被调用。 请建议我这方面的出路,如果我错过了前方的观点,请告诉我。
答案 0 :(得分:4)
试试这个
HTML:
<input type='button' value='Submit'>
JS:
$('input').on('click', function () {
$.ajax({
type:'POST',
url :"result",
success: function(data) {
console.log('success',data);
},
error:function(exception){alert('Exeption:'+exception);}
});
e.preventDefault();
});
没有JS或JQuery
<input type="button" onclick="location.href='/result'" value="Submit" >
注意:通过这种方式您只能发送GET请求,您的控制器应该有此注释method = RequestMethod.GET
如果你想要没有Jquery的POST请求,请使用Form
<form action="/result" method="post">
<input type="submit" value="Submit" />
</form>
答案 1 :(得分:0)
使按钮类型提交或调用javascript方法和 提交表格如 document.forms [&#34; myForm的&#34]。提交();
答案 2 :(得分:0)
首先在表单标记中,您需要进行一些更改
<form action="/servlet" method="post">
<input type="submit" name="login" />
</form>
它会调用你的doPost()方法