如何在SpringMVC3中使用jQueryAjax
此功能是在单击按钮时执行的 它只是插入1到数据库的路径 插入行是完美的,但是 问题总是返回“错误警报” “成功警报”永不返回 怎么做 对不起,我的英语不好如何在SpringMVC3中使用jQueryAjax,ajax,jquery,spring-mvc,Ajax,Jquery,Spring Mvc,此功能是在单击按钮时执行的 它只是插入1到数据库的路径 插入行是完美的,但是 问题总是返回“错误警报” “成功警报”永不返回 怎么做 对不起,我的英语不好 $(function(){ $("[name='replyWrite']").click(function(){ var text = $("textarea").val(); $.ajax({ url: "http://localhost:8080/replyWrite",
$(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));
}
问题可能在于您的URL:
http://localhost:8080/replyWrite
。如果您已经在某个上下文路径下部署了WAR应用程序,则应该在URL中使用此上下文路径
例如-Tomcat在webapps
中有ROOT
文件夹-只有这个“webapp”有空的上下文路径。如果您的WAR是example.WAR
,您的URL应该是http://localhost:8080/example/replyWrite
处理此问题的常用方法是在JavaScript中添加一点服务器端处理,以生成URL(而不是硬编码)
例如,使用JSP时:
$.ajax({
url: "<c:url value="/replyWrite" />",
...
$.ajax({
url:“”,
...
问候
Grzegorz Grzybek如果您使用的是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>
$(文档).ready(函数(){
$(“#replyWrite”)。单击(函数(){
var text=$(“textarea”).val();
var request=“no=100&id=test&comment=this is test”,
$.post(“replyWrite”,请求,
功能(数据){
警报(数据);
});
});
});
希望有帮助。当您将所有AJAX javascript放在单独的js文件中时,您会怎么做?这样行吗?