Java 带SpringMVC的Ajax不起作用
这是我尝试插入用户的jspJava 带SpringMVC的Ajax不起作用,java,jquery,ajax,jsp,spring-mvc,Java,Jquery,Ajax,Jsp,Spring Mvc,这是我尝试插入用户的jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Add Users using ajax</title>
<script src="/Spring3MVC/js/jquery.js"></script>
<script type="text/javascript">
function doAjaxPost() {
// get the form values
var firstName = $('#firstName').val();
var lastName = $('#lastName').val();
$.ajax({
type: "POST",
url: "/insert",
data: "firstName=" + firstName + "&lastName=" + lastName,
success: function(response) {
// we have the response
$('#info').html(response);
$('#firstName').val('');
$('#lastName').val('');
},
error: function(e) {
alert('Error: ' + e);
}
});
}
</script>
</head>
<body>
<h1>Add Person</h1>
<table>
<tr><td>First Name : </td><td> <input type="text" id="firstName" name="firstName" /><br/></td></tr>
<tr><td>Last Name : </td><td> <input type="text" id="lastName" name="lastName" /> <br/></td></tr>
<tr><td colspan="2"><input type="button" value="Add Users" onclick="doAjaxPost()"><br/></td></tr>
<tr><td colspan="2"><div id="info" style="color: green;"></div></td></tr>
</table>
<a href="/SpringMVC/search">Show All Users</a>
</body>
</html>
当我单击“添加用户”按钮时,什么也没有发生。有人能帮我解决这个问题吗?除了Ajax帖子之外,你到处都在使用上下文URL 应该
url:“/insert”,
也许是
url:“/SpringMVC/insert”,
甚至更好
url:,
试试看
数据:{firstName:firstName,lastName:lastName},
而不是
数据:“firstName=“+firstName+”&lastName=“+lastName,
在ajax调用中。在JSP for ajax请求中使用
url
:
url: "insert"
代替:
url: "/insert"
您使用的是绝对URL,它指向服务器的根,而不是控制器
我已经测试过了,你的代码对我来说很好。这两个页面的绝对url是多少,如果你按键盘上的f12键,你可以跟踪ajax调用和响应代码,如果是200,服务器端代码没有问题,现在检查成功函数,否则检查服务器代码,当然404意味着它没有到达服务器。你期望它发生什么?单击后,我希望它转到控制器代码。.你从不调用
doAjaxPost()
,是吗?@sp00m-我正在调用它尝试使用firefox firebug进行调试,并在单击时查找发生的情况。然后我建议您使用一些好的javascript调试工具(比如带有FireBug插件的FireFox),并开始调试您的代码和网络流量。
url: "/insert"