将DataTables插件与GET请求一起使用以传递requestbody
Using DataTables Plugin with GET requests to pass requestbody
我有一个javascript函数fetchGroups()
,它使用数据表插件构建一个分页数据表。传入的请求是GET请求。我需要在请求的同时传递一个fetchMemberGroups
对象。我尝试使用请求正文发送请求。但它似乎不起作用,并不断抛出500-Internal Server Error
。我也不相信我可以通过GET传递请求体。然后,我试图通过在服务方法上附加@PathParam注释来传递fetchMemberGroups
对象和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) {
}
编辑:
您不应该使用oTableapi来设置要发送到服务器的参数。。。因为o设置还不存在,oTable还没有创建,所以没有o设置
您不应该指定sEcho、iDisplayStart、iDisplayLength,这些都是由框架在服务器端实现中自动创建的
你需要做的是在你的查询中评估它们,以获得你的结果限制,等等
如果可以的话,我建议您尝试以下操作,看看它是否在firebug/chrome工具的网络检查器中返回任何内容
"fnServerData": function ( sSource, aoData, fnCallback ) {
$.getJSON( sSource, aoData, function (json) {
fnCallback(json);
});
上一个
我很确定你的fnServerData是关闭的,或者至少它不像我看到的
通常我会做类似的事情,其中lastname是一个额外的参数,作为getJSON,你知道它是一个get:
"fnServerData": function ( sSource, aoData, fnCallback ) {
aoData.push( { "name" : "LastName", "value" : "$('#LastName').val()" } );
$.getJSON( sSource, aoData, function (json) {
fnCallback(json);
});
500错误还表明url不存在,你有没有尝试过自己打开url,而不是从ajax打开?
相关文章:
- 转义符不能与innerHTML一起使用
- 高亮显示与数组字符串一起使用时文本插件中断
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何将js库与typescript一起使用
- 将webpack和babel与父项目目录中的文件一起使用
- 将 Drag&Drop 与 jsTree 和 DataTables 一起使用
- Javascript-如何让脚本与Ajax请求的数据一起运行
- 将两个ext.TabPanels滚动到一起
- 将jQuery UI Timepicker Addon与React一起使用
- 什么是curl以及如何将其与nodejs一起使用
- Javascript”;onmousemove”;事件无法与类一起使用
- 将require('..')与变量一起使用与在webpack中使用字符串相比
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 三角库可以与firefox一起使用,但不能在Chrome中使用
- 为什么不't我的ruby代码与javascript文件一起插入
- 通过jQueryAjax一起发布Array和Form数据时出现问题
- 如何将eventListeners与Angularjs+Electron一起使用
- 将DataTables插件与GET请求一起使用以传递requestbody