这个功能是点击按钮时的,
它只是将1row插入数据库。
插入行是完美的,但是......
问题总是返回'错误警报'。
'成功提醒'永远不会回来。
怎么做。
PS。对不起,我的英语不好。
$(function(){
$("[name='replyWrite']").click(function(){
var text = $("textarea").val();
$.ajax({
url: "http://localhost:8080/replyWrite",
type: "POST",
data: "no=100&id=test&comment=this is test",
dataType: "text",
cache: "false",
success: function(){
alert("Success");
// something to do
},
error: function(data, textStatus, errorThrown){
alert("error\n" + data + ", " + textStatus + ", " + errorThrown);
}
});
});
});
并且replyWrite代码是..
@RequestMapping(value="/replyWrite")
public String replyWrite(@RequestParam(required=true)int no
, @RequestParam(required=true)String id
, @RequestParam(required=true)String comment){
return boardDaoJdbc.replyWrite(id, no, comment);
}
public String replyWrite(String id, int no, String comment){
// it will be return "1"
return Integer.toString(this.jdbcTemplate.update("INSERT INTO testz_board_reply(id, comment, linked_idx, write_date) VALUES (?, ?, ?, DATE_FORMAT(now(), '%Y-%c-%d %H:%i')) ",
id, comment, no));
}
答案 0 :(得分:2)
如果您使用的是ajax,则需要使用@ResponseBody
注释。
所以你的映射应该是这样的:
@RequestMapping(value="/replyWrite", method=RequestMethod.POST)
@ResponseBody
public String replyWrite(@RequestParam(required=true)int no
, @RequestParam(required=true)String id
, @RequestParam(required=true)String comment){
return boardDaoJdbc.replyWrite(id, no, comment);
}
现在在我的客户端:
<script src="../scripts/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#replyWrite").click(function () {
var text = $("textarea").val();
var request = "no=100&id=test&comment=this is test",
$.post("replyWrite", request,
function(data) {
alert(data);
});
});
});
</script>
希望它有所帮助。
答案 1 :(得分:0)
问题可能在于您的网址:http://localhost:8080/replyWrite
。如果已在某个上下文路径下部署WAR应用程序,则应在URL中使用此上下文路径。
例如 - Tomcat在ROOT
中有webapps
个文件夹 - 只有这个“webapp”有空的上下文路径。如果您的WAR为example.war
,则您的网址应为http://localhost:8080/example/replyWrite
。
处理此问题的常用方法是在JavaScript中添加一些服务器端处理 - 生成URL(而不是硬编码)。
例如,使用JSP:
$.ajax({
url: "<c:url value="/replyWrite" />",
...
问候 Grzegorz Grzybek