0

我想使用不需要表单th:action和重定向的 jQuery 将数据标准名称保存到数据库。

我试过这个但发现错误。

如果您知道此错误的原因,请在此处说明。

百里香代码

<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:未定义标准名称

4

1 回答 1

4

这是因为你没有用 name 声明的变量standardName,你可以修复如下

$(document).ready(function(){
    $("#savebutton").click(function(){

        $.ajax({
            type : 'POST',
            url : "/learnware/saveStandards.html ",
            data : ({
                std : $('#std').val()
            })

        });

    });
});
于 2013-08-12T08:06:07.260 回答