我正在尝试使用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">×</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
我在这里做错了什么?任何帮助将非常感谢!
答案 0 :(得分:1)
您应该将参数传递给您要发布的网址,例如:
url: "/addUserToProject?projectId=" + currentProjectId + "&userId=" + userId;
不要忘记删除数据&#39;来自你的ajax帖子的部分。
PS:如果你想使用&#39;数据&#39;在您的ajax请求中,您需要从Java方法中删除@RequestParam
注释。相反,您可以创建一个新的模型类,并将参数与其getter和setter方法一起放置。使用@RequestBody
注释将该模型传递给Java方法。然后你可以使用&#34;数据&#34;在你的ajax请求中。