2012-06-26 2 views
1

에서 JSON 데이터를로드 할 수 없습니다있는 jqGrid가있는 jqGrid에 행동에서 데이터를로드 할 때이 문제가 행동

내 행동 반환 JSON 데이터 :

$("#list1").jqGrid({     
     url: "<%=request.getContextPath()%>/pagingIssue?time='+new Date().getTime()", 
     colNames:['Id','Name', 'Type','Severity', 'Owner','Register', 'Responsor', 'Department','Status'], 
     colModel:[ 
       {name:'issId',index:'issId', width:40,sortable:true}, 
       {name:'issName',index:'issName', width:200,sortable:true}, 
       {name:'issType',index:'issType', width:100,sortable:true}, 
       {name:'issSeverity',index:'issSeverity', width:100,sortable:true}, 
       {name:'issOwner',index:'issOwner', width:80,sortable:true}, 
       {name:'issRegister',index:'issRegister', width:100,sortable:true}, 
       {name:'issResponsor',index:'issResponsor', width:100,sortable:true}, 
       {name:'department',index:'department', width:120,sortable:true}, 
       {name:'issStatus',index:'issStatus', width:80,sortable:true}], 
     rowNum:10, 
     rowList:[10,15,20], 
     pager: '#pager1', 
     sortname: 'issId', 
     datatype: 'json', 
     recordpos: 'left', 
     viewrecords: true, 
     sortorder: 'desc', 
     multiselect: true, 
     caption: 'Issue List' }); 
}); 
: 내가있는 jqGrid 전화
{"page":"1","records":"31","rows":["{'id':'1','cell':['1','Cant open destop','Destop','Easy','duongls','huyld','minhnq','Finance ','Open']}","{'id':'2','cell':['2','Cant log to email','Email','Normal','thangtd','minhnq','longnh','Secretary ','Assigned']}","{'id':'3','cell':['3','No internet access Edited ver 2 longnh','Connection','Hard','thangtd','longnh','longnh','Secretary ','Closed']}","{'id':'4','cell':['4','Request password','Account','Normal','dungtq','honglm','longnh','Director','Cancelled']}","{'id':'5','cell':['5','Cant open latop','Laptop','Hard','duongls','huyld','minhnq','Director','Closed']}","{'id':'6','cell':['6','issue 11111111111111','','','dungtq','longnh','','Planning','Open']}","{'id':'7','cell':['7','Issue ku minh heo','','','dungtq','longnh','','Planning','Open']}","{'id':'8','cell':['8','New ticket 12345','','','dungtq','longnh','','Planning','Open']}","{'id':'9','cell':['9','Mail server cannot connect','','','haitct','longnh','','Director','Open']}","{'id':'10','cell':['10','aaaaaaaaaaaa','','','dungtq','longnh','','Planning','Open']}"],"total":"4"} 

및 JSP에서

그리드가 표시됩니다로드 중 ... 도와 주시겠습니까?

답변

2

기본적으로 JSON 데이터는 JSON Data의있는 jqGrid 설명서에 언급 된 형식이어야합니다 :

{ 
    "total": "xxx", 
    "page": "yyy", 
    "records": "zzz", 
    "rows" : [ 
    {"id" :"1", "cell" :["cell11", "cell12", "cell13"]}, 
    {"id" :"2", "cell":["cell21", "cell22", "cell23"]}, 
     ... 
    ] 
} 

귀하의 데이터는 가깝지만 rows는 대신 문자열

"rows":["{'id' ... ]}"] 

을 포함 대상 :


또한 문자열에는 항상 큰 따옴표를 사용해야하며 작은 따옴표는 사용하지 않아야합니다 (자세한 내용은 상태 머신 다이어그램 json.org 참조). 따라서 JSON은 다음과 같아야합니다.

"rows":[{"id" ... ]}] 
+1

+1 : 나는 거의 같은 대답을 쓰고 싶습니다. 유일한 것은 유효한 JSON 데이터를 얻기 위해서'''대신'''을 사용해야한다는 것입니다 (''행 ''을 변경해야 함을 의미합니다 : [{ 'id'...]}]''to "rows" : [{ "id": "1", "셀": [ "1", ...]}, ...)') – Oleg

+0

감사의 말 Oleg! –

관련 문제