我有一个fetchGroups()
使用数据表插件构建分页数据表的 javascript 函数。传入的请求是 GET 请求。我需要将一个fetchMemberGroups
对象与请求一起传递。我尝试使用请求正文发送请求。但它似乎不起作用并不断抛出500-Internal Server Error
. 我也不相信我可以通过 GET 传递请求正文。然后,我尝试通过fetchMemberGroups
在服务方法上附加 @PathParam 注释来传递对象和 URL。有人可以告诉我如何在不将服务类型更改为 POST 或 PUT 的情况下将此对象传递给服务。
function fetchGroups() {
var fetchMemberGroups = new Object();
fetchMemberGroups.sEcho = 0;
$("#displayGroupsTable").dataTable({
"bServerSide": true,
"sAjaxSource":"api/groupService/groups",
"bProcessing": true,
"bJQueryUI": true,
"bRetrieve": true,
"fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
fetchMemberGroups.iDisplayStart=oSettings._iDisplayStart;
fetchMemberGroups.iDisplayLength=oSettings._iDisplayLength;
fetchMemberGroups.sEcho=fetchMemberGroups.sEcho+1;
oSettings.jqXHR=$.ajax( {
"contentType" : 'application/json',
"dataType": 'json',
"type": "GET",
"url": sSource,
"data": JSON.stringify(fetchMemberGroups),
"success": fnCallback
});},
"aoColumns": [
{ "mData": "groupName" },
{ "mData": "numberOfMembers"},
{ "mData": "distinguishedName"}
]
});
}
服务器端代码:
@GET
@Path("groups")
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({MediaType.APPLICATION_JSON})
public Response getGroups(@Context HttpServletRequest request, PagingObject fetchGroupsObject) {
}