2016-04-14 43 views
0

Bir süredir jqGrid ile çalışıyorum ve veriyi istemci tarafındaki bir kılavuza döndürmek için yeni bir sunucu tarafı komut dosyası oluşturmaya çalışıyordum. Bir çok kez bu yazılım programlarının temellerine geri dönmeye çalışıyorum. JSON verisini şebekeme geri döndürmek istedim, sadece bir kez çağrı cihazı olmadan bir kere yüklemem gerekiyor.jqgrid özel JSON veri hatası yok ama veri göstermiyor

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

JS ızgara tanımıdır: belgelerine here başvurarak sonra ben böyle, dokümanlardan biçimiyle eşleşecek şekilde benim JSON dizesi oluşturmak çalıştı Yaptığım

$("#jqGrid").jqGrid({ 
    url:'/dataurl.php', 
    shrinkToFit: true, 
    autowidth: true, 
    datatype: 'json', 
    mtype: 'POST', 
    postData:{ 
     'arg1':'load_data', 
     'num_days':$('#num_of_days_input').val() 
    }, 
    colNames:[ 
     'Ship_Date', 
     'Insert/Label', 
     'Customer', 
     'JobNum', 
     'QNTYOrdered', 
     'DEL', 
     'Ship_Type', 
     'Carrier', 
     'Time', 
     'Status' 
    ], 
    colModel:[ 
     {width:20,name:'Ship_Date', index:'Ship_Date'}, 
     {width:20,name:'InsertorLabel', index:'InsertorLabel'}, 
     {width:20,name:'Customer', index:'Customer'}, 
     {width:20,name:'JobNum', index:'JobNum'}, 
     {width:20,name:'QNTYOrdered', index:'QNTYOrdered'}, 
     {width:20,name:'DEL', index:'DEL'}, 
     {width:20,name:'Ship_Type', index:'Ship_Type', edittype:'select', editoptions:{value:"Partial:Partial;Balance:Balance;Full:Full"}}, 
     {width:20,name:'Carrier', index:'Carrier', edittype:'select', editoptions:{value:"UPS:UPS;Fed Ex:Fed Ex;2D:2D;T&M:T&M;Cougar:Cougar"}}, 
     {width:20,name:'Time', index:'Time', edittype:'select', editoptions:{value:"before 7am:before 7am;7-9am:7-9am;9-12am:9-12am;12-3pm:12-3pm;after 3pm:after 3pm"}}, 
     {width:20,name:'Status', index:'Status', edittype:'select', editoptions:{value:"To Ship:To Ship;Ship Pending:Ship Pending"}} 
    ], 
    loadonce: true, 
    sortname: 'Ship_Date', 
    sortorder: 'asc', 
    viewrecords: true, 
    gridview: true, 
    caption: 'Shipping Request', 
    loadError: function(xhr, status, error){ 
     alert(xhr.responseText); 
     alert(status); 
     alert(error); 
    }, 
    loadComplete: function(data){ 
     alert(JSON.stringify(data, null, 4)); 
    } 
}); 

oldukça loadError yöntemini kullanarak hata ayıklama biraz ve şimdi hiçbir hata alıyorum, veri sunucusundan döndürülen görebilirsiniz. biçiminin doğru olduğu gibi bana görünüyor:

enter image description here

Ama ne yazık ki, ızgara hala orada boş görünür. Hala bir şey mi eksik? Teşekkürler!

+0

Buraya tam URL yolunu uygulayın ve kontrol edin. – RJParikh

cevap

1

sunucusu gelen JSON tepkisinin rows özelliğinin değeri dizisi olması, ancak bunun yerine nesneyi kullanmak (bu "rows": [{}] olması gerekir, ancak, bunun yerine "rows": {} kullanın). Tek bir öğeniz olsa bile, diziyi hala öğeden biriyle döndürmeniz gerekir.

+0

Her zamanki gibi, teşekkürler, teşekkürler! –

+0

@jeffery_the_wind: Rica ederim! – Oleg