混淆与jquery形式行动春天mvc thymeleaf

时间:2017-03-20 11:16:59

标签: jquery spring-mvc thymeleaf

我有一个表单,我点击按钮设置操作。在提交表单时,我将数据发送到控制器,控制器处理数据并返回页面。

e.g。

我从http://localhost/test开始...输入一些数据,点击按钮,数据将发送到http://localhost/ablehnen,现在我在浏览器中http://localhost/ablehnen 。如果我再次点击该按钮,浏览器会转到http://localhost/ablehnen/ablehnen,这是错误的!任何人都可以告诉我,为什么我会去http://localhost/ablehnen/ablehnen ???我该如何解决这个问题?

<form id="theForm"  class="form-horizontal" data-toggle="validator" method="POST" role="form"  th:object="${intProvDefApproval}">
...
</from>

<button type="button" id="ablehnen" class="btn btn-danger" th:text="#{ablehnen}"></button>


$("#ablehnen").click(function() {
$("#theForm").prop( 'action', "ablehnen");
$("#theForm").submit();
}

3 个答案:

答案 0 :(得分:0)

每次触发click事件时,字符串都会被激活。在您的操作结束时添加。尝试设置属性action =&#34; ablehnen&#34;在形式本身不是来自jquery。见下文

<form id="theForm"  class="form-horizontal" data-toggle="validator" method="POST" action="ablehnen" role="form"  th:object="${intProvDefApproval}">

...

答案 1 :(得分:0)

可能你可以尝试使用相对于root的相对路径。 $(“#theForm”)。prop('action',“/ ablehnen”); 要么 root_path =“http://localhost” action_path = root_path +“/ ablehnen”

$(“#theForm”)。prop('action',action_path);

此致 克尚

答案 2 :(得分:0)

我发现了这个错误...我忘记了控制器的映射...控制器有一个加法映射@RequestMapping(“/ myController”)..但我不知道为什么它在没有第一个klick的情况下工作任何错误

正确的是:

$("#theForm").prop( 'action', "/myController/ablehnen");