无法将JSON响应从grails控制器发送到jQuery数据表
我一直试图从grails控制器发送JSON响应以显示在jQuery数据表(V1.9)中,但得到的响应为空 这是我的控制器:-无法将JSON响应从grails控制器发送到jQuery数据表,json,grails,jquery-datatables,Json,Grails,Jquery Datatables,我一直试图从grails控制器发送JSON响应以显示在jQuery数据表(V1.9)中,但得到的响应为空 这是我的控制器:- def breakHierarchy = { logger.info("breakHierarchy begins here"); userObject = session.myBeanU; userLoggedIn = userStatus.checkUserLoggedIn(userObject); ArrayList<Hie
def breakHierarchy =
{
logger.info("breakHierarchy begins here");
userObject = session.myBeanU;
userLoggedIn = userStatus.checkUserLoggedIn(userObject);
ArrayList<HierarchyBreakBean> mappingList;
JsonObject jsonResponse;
if(userLoggedIn) {
def hierarchyBreakInstance = new HierarchyBreak(params);
String[] divisionList = params.searsDivNumber;
String[] lineList = params.searsLineNumber;
String[] sublineList = params.searsSubLineNumber;
String[] classList = params.searsClass;
try {
mappingList = hierarchyBreakService.searchHierarchy(divisionList, lineList, sublineList, classList);
jsonResponse = hierarchyBreakService.loadData(request, response, mappingList);
} catch(Exception ex){
logger.info("Exception in breakHierarchy: ");
ex.printStackTrace();
hierarchyBreakInstance.errors.reject(message(code: ex.toString()));
render(view: "hierarchyBreak", model: [hierarchyBreakInstance: hierarchyBreakInstance]);
return;
}
} else {
redirect(action: loginError);
}
return;
}
数据表在“处理”栏中显示为空。
谁能告诉我我在这里错过了什么?任何帮助都将不胜感激。谢谢 您的操作对您创建的JSON对象不起任何作用。使用
render data
或返回json对象作为操作的返回值:
mappingList = hierarchyBreakService.searchHierarchy(divisionList, lineList, sublineList, classList);
jsonResponse = hierarchyBreakService.loadData(request, response, mappingList);
render jsonResponse
此外,您的服务方法也可以使用JavaISH。使用JSON构建器会将复杂性降低50%在JS控制台中应该会有一些错误我没有在控制器中看到
呈现jsonResponse
@injecteer我的JS控制台是clean@codehx我需要使用render向JS发送jsonResponse吗?它不是通过写入输出流直接发送的吗?对不起,我是Grails新手。我用Java编写了相同的代码,并通过Spring控制器发送响应,结果成功了。但是,我无法使用Grails发送响应。我使用render jsonResponse,它给了我以下JS错误:-Datatables警告:无法解析来自服务器的JSON数据。这是由JSON格式错误引起的。我还将render jsonResponse用作JSON,但它随后抛出了错误java.lang.UnsupportedOperationException:JsonObject您能帮我一下吗!调试您的JS代码,查看响应的确切外观。谢谢!我得到了它。由于其他错误,我的JSON被错误构造。我现在解决了。
var myTable = null;
$("#searchButton").click(function(){
var url = appcontextPath + "/login/breakHierarchy";
$("#row_header").show();
myTable = $("#mappingTable").dataTable({"bServerSide": true,
"bProcessing": true,
"sAjaxSource": url,
"sPaginationType": "full_numbers",
"bJQueryUI": true,
"bDestroy": true,
"aaSorting": [[4,'asc']],
"bFilter": false,
"aoColumnDefs": [{"sWidth": "20%", "aTargets": [1,2,3,4,5], "sClass": "center"},
{"bSortable": false, "aTargets": [0]}]
});
});
mappingList = hierarchyBreakService.searchHierarchy(divisionList, lineList, sublineList, classList);
jsonResponse = hierarchyBreakService.loadData(request, response, mappingList);
render jsonResponse