2

这是我尝试插入用户的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//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>

这是我的控制器代码

@RequestMapping(value="/insert", method = RequestMethod.POST)
public String insertPerson(ModelMap model, HttpServletRequest request, HttpServletResponse response, @RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName ) {
    personDao.savePerson(firstName,lastName);
    model.addAttribute("nameAdded", firstName+" "+lastName);
    return "personAdded";
}

当我单击“添加用户”按钮时,没有任何反应。谁能帮我解决这个问题?

4

4 回答 4

6

除了 Ajax 帖子之外,您在任何地方都使用上下文 URL。

应该

url: "/insert",

也许是

url: "/SpringMVC/insert",

甚至更好

url: "<spring:url value='/insert' />",

于 2012-09-10T07:18:43.067 回答
4

尝试

data: {firstName: firstName, lastName: lastName},

代替

data: "firstName=" + firstName + "&lastName=" + lastName,

在你的ajax调用中。

于 2012-09-10T07:34:45.457 回答
4

urlJSP 中的 AJAX 请求用作:

url: "insert" 

代替:

url: "/insert"

您使用的是指向服务器根目录而不是控制器的绝对 URL。

我已经对其进行了测试,并且使用您的代码对我来说效果很好。

于 2012-09-10T07:38:04.827 回答
2

两个页面的绝对 url 是什么,如果你在键盘上按 f12 键,你可以跟踪 ajax 调用并跟踪响应代码,如果是 200,那么你的服务器端代码没有问题现在检查成功功能,否则检查服务器代码,当然 404 意味着它没有到达服务器。

于 2012-09-10T17:01:05.230 回答