XHR加载失败:POST java spring

时间:2017-12-04 10:46:53

标签: javascript java jquery ajax spring

我正在尝试使用ajax将数据从我的jsp页面发送到我的控制器。 但是,我无法完成它,每次我收到帖子标题中显示的错误。

JSP内容:(这是我的模态,我加载所有用户,我想通过将我的用户ID和我当前的项目ID发送到我的控制器来将它们添加到项目中)

TASK [mid_crontab : assert check if system_crontab is defined in repo_crontab] *

ok: [prd-inner-mgmt202] => (item=root) => {
    "changed": false,
    "invocation": {
        "module_args": {
            "that": "1 == 1"
        },
        "module_name": "assert"
    },
    "item": "root",
    "msg": "All assertions passed"
}

控制器内容:

<div class="modal fade" id="myModal" role="dialog">
        <div class="modal-dialog">
            <!-- Modal content-->
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h4 class="modal-title"></h4>
                </div>
                <div class="modal-body">
                    <h1 class="text-center">UserList</h1>
                    <br><br>
                    <table class="table table-hover">
                        <thead>
                            <tr>
                                <th>Photo</th>
                                <th>Firstname</th>
                                <th>Lastname</th>
                                <th>Function</th>
                                <th>Email</th>
                            </tr>
                        </thead>
                        <tbody>
                            <c:forEach var="u" items="${users}">
                                <tr>
                                    <td><img src="${u.getPhoto()}"
                                             alt="Alternate Text" class="img-responsive" /></td>
                                    <td>${u.getFirstname()}</td>
                                    <td>${u.getLastname()}</td>
                                    <td>${u.getFunction()}</td>
                                    <td>${u.getEmail()}</td>
                                    <td><Button type="Button" onclick="myFunction()" id="addButton" class="btn btn-default">Add</button></td>
                            <input type="hidden" id="currentProjectId" value="${p.getProjectId()}">
                            <input type="hidden" id="userId" value="${u.getUserId()}">
                            </tr> 
                        </c:forEach>
                        </tbody>
                    </table>

                    <script>
                        function myFunction()
                        {
                            var currentProjectId = $('#currentProjectId').val();
                            var userId = $('#userId').val();

                            $.ajax({
                                type: "POST",
                                contentType: "application/json",
                                url: "addUserToProject",
                                data: JSON.stringify({projectId: currentProjectId, userId: userId}),
                                dataType: 'json',
                                timeout: 600000,
                                success: function (data) {
                                    console.log("SUCCESS: ", data);
                                },
                                error: function (e) {
                                    console.log("ERROR: ", e);
                                }
                            });
                        }
                    </script>

                </div>
            </div>
        </div>
    </div>

我现在得到的结果如下: Console output

我在这里做错了什么?任何帮助将非常感谢!

1 个答案:

答案 0 :(得分:1)

您应该将参数传递给您要发布的网址,例如:

url: "/addUserToProject?projectId=" + currentProjectId + "&userId=" + userId;

不要忘记删除数据&#39;来自你的ajax帖子的部分。

PS:如果你想使用&#39;数据&#39;在您的ajax请求中,您需要从Java方法中删除@RequestParam注释。相反,您可以创建一个新的模型类,并将参数与其getter和setter方法一起放置。使用@RequestBody注释将该模型传递给Java方法。然后你可以使用&#34;数据&#34;在你的ajax请求中。