2016-01-21 70 views
-3

我在網站上使用網格我使用jqGrid。發生的事情是,當數據返回請求時,它們被格式化的方式是正確的,因爲jqGrid本身會輸入LoadComplete方法,但它不會將數據加載到Grid中。
JavaScript是jqGrid的:JqGrid顯示加載成功,但不裝入網格

$(document).ready(function() { 
    $("#jqGrid").jqGrid({ 
     url: 'adm/controller/medico.php?acao=listarMedico', 
     mtype: "POST", 
     styleUI : 'Bootstrap', 
     datatype: "json", 
     colModel: [ 
      { label: 'id', name: 'idMedico', key: true, width: 75, hidden:true }, 
      { label: 'Nome', name: 'nomeMedico', width: 75 }, 
      { label: 'CRM', name: 'crmMedico', width: 150 }, 
      { label: 'Especialidades', name: 'especialidadesMedico', width: 150 }, 
      { label: 'Endereço', name: 'enderecoMedico', width: 150 }, 
      { label: 'Telefone', name: 'telefoneMedico', width: 150 } 
     ], 
     viewrecords: true, 
     rowNum: 20, 
     rowList: [20, 40, 100], 
     //height: "auto", 
     height: 400, 
     emptyrecords: "Nenhum médico com o filtro selecionado", 
     loadtext: "Buscando e carregando...", 
     rowNum: 20, 
     pager: "#jqGridPager", 
     caption: "Médicos Conveniados", 
     loadComplete: function(data){ 
      console.log('sucesso'); 
      console.log(data); 
     }, 
     loadError: function (xhr,st,err) { 
      console.log('HTTP status code: ' + xhr.status + '\n' + 
        'textStatus: ' + st + '\n' + 
        'errorThrown: ' + err); 
      console.log('HTTP message body (jqXHR.responseText): ' + '\n' + xhr.responseText); 
     } 
    }); 
}); 

PHP的回報是這個JSON:

{"total":1,"page":1,"records":20,"rows":{"1":{"id":"1","cell":{"idMedico":"1","nomeMedico":"dsda","crmMedico" 
:"jknjk","especialidadesMedico":null,"enderecoMedico":" , - - ","telefoneMedico":"() "}},"2":{"id" 
:"2","cell":{"idMedico":"2","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:" , - - ","telefoneMedico":"() "}},"3":{"id":"3","cell":{"idMedico":"3","nomeMedico":"Henrique","crmMedico" 
:"CRM","especialidadesMedico":null,"enderecoMedico":" , - - ","telefoneMedico":"() "}},"4":{"id":"4" 
,"cell":{"idMedico":"4","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:" , - - ","telefoneMedico":"() "}},"5":{"id":"5","cell":{"idMedico":"5","nomeMedico":"Henrique","crmMedico" 
:"CRM","especialidadesMedico":null,"enderecoMedico":"Endere\u00e7o , Bairro - \u00c1gua Doce do Norte 
- ES","telefoneMedico":"() "}},"6":{"id":"5","cell":{"idMedico":"5","nomeMedico":"Henrique","crmMedico" 
:"CRM","especialidadesMedico":null,"enderecoMedico":"Endere\u00e7o , Bairro - \u00c1gua Doce do Norte 
- ES","telefoneMedico":"() "}},"7":{"id":"5","cell":{"idMedico":"5","nomeMedico":"Henrique","crmMedico" 
:"CRM","especialidadesMedico":null,"enderecoMedico":"Endereco , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico" 
:"() "}},"8":{"id":"5","cell":{"idMedico":"5","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico" 
:null,"enderecoMedico":"Endereco , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"() "}},"9":{"id" 
:"6","cell":{"idMedico":"6","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:" , - - ","telefoneMedico":"() "}},"10":{"id":"7","cell":{"idMedico":"7","nomeMedico":"Henrique","crmMedico" 
:"CRM","especialidadesMedico":null,"enderecoMedico":" , - - ","telefoneMedico":"() "}},"11":{"id":"8" 
,"cell":{"idMedico":"8","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"() "}},"12":{"id":"8","cell": 
{"idMedico":"8","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"() "}},"13":{"id":"9","cell": 
{"idMedico":"9","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"() "}},"14":{"id":"9","cell": 
{"idMedico":"9","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endereco , Bairro - \u00c1gua Doce do Norte - ES","telefoneMedico":"() "}},"15":{"id":"10","cell": 
{"idMedico":"10","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"(81) 98125-8886"}},"16":{"id" 
:"10","cell":{"idMedico":"10","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endereco , Bairro - \u00c1gua Doce do Norte - ES","telefoneMedico":"() "}},"17":{"id":"11","cell": 
{"idMedico":"11","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"(81) 98200-5300"}},"18":{"id" 
:"11","cell":{"idMedico":"11","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"(81) 98125-8886"}},"19":{"id" 
:"11","cell":{"idMedico":"11","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endereco , Bairro - \u00c1gua Doce do Norte - ES","telefoneMedico":"() "}},"20":{"id":"12","cell": 
{"idMedico":"12","nomeMedico":"Henrique","crmMedico":"CRM","especialidadesMedico":null,"enderecoMedico" 
:"Endere\u00e7o , Bairro - Afonso Cl\u00e1udio - ES","telefoneMedico":"(81) 98200-5300"}}}} 

什麼問題,有人能幫助我嗎?

回答

0

您生成的數據似乎格式不正確。 "rows"屬性的值看起來像

{ 
    "1":{"id":"1","cell":{"idMedico":"1",...}}, 
    "2":{"id":"2","cell":{"idMedico":"2",...}}, 
    ... 
    "20":{"id":"12","cell":{"idMedico":"12",...}} 
} 

,而不是

[ 
    {"id":"1","cell":["1",...]}, 
    {"id":"2","cell":["2",...}}, 
    ... 
    {"id":"12","cell":["12"...]} 
] 

或更好

[ 
    {"idMedico":"1",...}, 
    {"idMedico":"2",...}, 
    ... 
    {"idMedico":"12",...} 
] 

你應該改變返回的數據"rows"屬性的格式。

我提醒你,[]代表JSON序列陣列{}代表JSON序列對象

+0

非常感謝@Oleg的幫助。問題是,即使你說我決定在一個鍵中創建一個數組,並將列移動到它。 – Henrique

+0

@亨利克:不客氣! – Oleg