2013-08-12 43 views
0

我想使用jQuery將數據標準名稱保存到數據庫,但不需要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沒有定義

回答

4

那是因爲你沒有與名稱standardName聲明的變量,你可以按照以下

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

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

     }); 

    }); 
}); 
+0

500(內部服務器錯誤)解決發生 –

相關問題