我想使用不需要th:action
形式的jQuery和重定向将数据标准名称保存到数据库。
我试过这个但是发现了错误。
如果您知道此错误的原因,请在此处解释。
Thymeleaf代码
<form action="#" >
<table>
<h1>Create Standard</h1>
<tr>
<td>Standard Name:</td>
<td><input type="text" th:value="${standardName}" placeholder="Enter Standard Name" required="required"id="std" name="stdName"/></td></tr>
<td><input type="submit" class="btn btn-primary" value="Create" id="savebutton" name="save" /></td>
</table>
</form>
我正在使用jQuery,因为重定向和表单操作在这里不起作用。这是我的要求,所以我使用jQuery。
jquery的
<script type="text/javascript" th:inline="javascript" charset="utf-8"
src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript" th:inline="javascript" charset="utf-8"
src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
$(document).ready(function(){
$("#savebutton").click(function(){
$.ajax({
type : 'POST',
url : "/saveStandards.html ",
data : ({
std : standardName //this standardName not defined that is the error
})
});
});
});
</script>
控制器
@RequestMapping(value = Array("/saveStandards.html"))
@ResponseBody
def saveStandards(@RequestParam std:String) {
var standard:Standard=new Standard
standard.setCreatedDate(new java.sql.Date(new java.util.Date().getTime))
standardService.addStandard(standard)
println("*****inside controller*****"+std+"****last***")//here std is not printing because of the value not catch @ here
}
错误捕获:
未捕获的ReferenceError:未定义standardName
答案 0 :(得分:4)
这是因为您没有使用名称standardName
声明的变量,您可以修复如下
$(document).ready(function(){
$("#savebutton").click(function(){
$.ajax({
type : 'POST',
url : "/learnware/saveStandards.html ",
data : ({
std : $('#std').val()
})
});
});
});